回 帖 发 新 帖 刷新版面

主题:[讨论]这个警告怎么回事?

warning C4018: '<' : signed/unsigned mismatch

对应内容:for(j=0;j<strlen(s[0]);j++)

这个警告是怎么回事?怎么改?

回复列表 (共3个回复)

沙发

strlen(s[0])返回的是无符号的数,不能和有符号的相比较
可以改写成:
for(unsign int j=0;j<strlen(s[0]);j++);

板凳

[quote]strlen(s[0])返回的是无符号的数,不能和有符号的相比较
可以改写成:
for(unsign int j=0;j<strlen(s[0]);j++);[/quote]

 应该是unsigned吧,改了之后会提示错误,我试了一下先赋值,解决了。

3 楼

类型不匹配,需进行类型转换!

我来回复

您尚未登录,请登录后再回复。点此登录或注册