下面写的是strlen返回一个无符号整数,然后i定义的是普通整数,所以不同类型之间比较有个警告,还有就是strlen每次他都会调用,最好把返回值赋给一个变量,这样只调用一次就好了
warning而已,又不是error
意思就是strlen的结果是size_t 和i,j的int类型比较会强制转换。
typedef unsigned int size_t,所以size_t相当于unsigned int,强制转换的时候就是将int强制转成unsigned int,此时可能会发生报错。
举个例子来说:
int main(){
int a = -1;
size_t b = 20;
cout <<( a > b ? "true" : "false" )<< endl;
}