C语言程序出现这个warning C4018: ✀<✀ : signed⼀unsigned mismatch错误

2025-05-17 17:09:57
推荐回答(4个)
回答(1):

程序不全,不能准确判断(尤其是缺少变量说明)。错误提示应该与这一段没有关系,是数据类型有符号与无符号的不匹配。
最有可能出错的是
*max=a[k];

如果(char **max),没有问题;如果是(char *max)肯定不对。

回答(2):

这个不是错,只是一个警告而已。
警告你 '<'符号两边的变量,一个是有符号数值,一个是无符号数值。
看一下 imaxlen < strlen(a[i]) 中的strlen()返回的是什么类型。

回答(3):

这是一个警告,编译是可以通过的,程序也可以运行。

警告提示的原因是:i和num不是同一种类型造成的,i是int型,而num是unsigende int 型,所以会有强制类型转换,这个不影响程序,只要自己知道就行了。

回答(4):

num 未声明定义.