C语言程序出现这个warning C4018: '<' : signed/unsigned mismatch错误
{inti,k=0,maxlen;maxlen=strlen(a[k]);for(i=1;i<num;i++){if(maxlen<strlen(a[i])){maxle...
{int i,k=0,maxlen;
maxlen=strlen(a[k]);
for(i=1;i<num;i++){
if(maxlen<strlen(a[i])){
maxlen=strlen(a[i]);
k=i;
}
}
*max=a[k];
}
这个程序哪儿错了啊。。怎么改??? 展开
maxlen=strlen(a[k]);
for(i=1;i<num;i++){
if(maxlen<strlen(a[i])){
maxlen=strlen(a[i]);
k=i;
}
}
*max=a[k];
}
这个程序哪儿错了啊。。怎么改??? 展开
4个回答
展开全部
这个不是错,只是一个警告而已。
警告你 '<'符号两边的变量,一个是有符号数值,一个是无符号数值。
看一下 i<num 中的 num是什么类型。
maxlen < strlen(a[i]) 中的strlen()返回的是什么类型。
警告你 '<'符号两边的变量,一个是有符号数值,一个是无符号数值。
看一下 i<num 中的 num是什么类型。
maxlen < strlen(a[i]) 中的strlen()返回的是什么类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个警告,编译是可以通过的,程序也可以运行。
警告提示的原因是:i和num不是同一种类型造成的,i是int型,而num是unsigende int 型,所以会有强制类型转换,这个不影响程序,只要自己知道就行了。
警告提示的原因是:i和num不是同一种类型造成的,i是int型,而num是unsigende int 型,所以会有强制类型转换,这个不影响程序,只要自己知道就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-04
展开全部
num 未声明定义.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询