handlec11834 warning comparison of distinct pointer types lacks a cast 118 if device_state == 开启 ^~handlec12434 warning comparison of distinct
这两个警告是由于比较不同的指针类型而导致的。在C语言中,使用==比较字符串是不正确的,因为它比较的是指针的地址而不是字符串的内容。
要解决这个问题,你可以使用strcmp()函数来比较字符串的内容。strcmp()函数返回一个整数,表示两个字符串的比较结果。如果两个字符串相等,则返回0。
下面是修复警告的代码示例:
#include <string.h>
// ...
if (strcmp(device_state, "开启") == 0){
// do something
}
通过使用strcmp()函数,你可以正确地比较字符串的内容,而不会出现警告。
原文地址: https://www.cveoy.top/t/topic/iCyZ 著作权归作者所有。请勿转载和采集!