这两个警告是由于比较不同的指针类型而导致的。在C语言中,使用==比较字符串是不正确的,因为它比较的是指针的地址而不是字符串的内容。

要解决这个问题,你可以使用strcmp()函数来比较字符串的内容。strcmp()函数返回一个整数,表示两个字符串的比较结果。如果两个字符串相等,则返回0。

下面是修复警告的代码示例:

#include <string.h>

// ...

if (strcmp(device_state, "开启") == 0){
    // do something
}

通过使用strcmp()函数,你可以正确地比较字符串的内容,而不会出现警告。

handlec11834 warning comparison of distinct pointer types lacks a cast 118 if device_state == 开启 ^~handlec12434 warning comparison of distinct

原文地址: https://www.cveoy.top/t/topic/iCyZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录