D:\software\CodeBlocks\test1\main.c|28|warning: suggest parentheses around assignment used as truth value [-Wparentheses]|
warning的有道翻译:
警告:建议括号周围的赋值作为真值
代码如下
int mystrcmp( char *a, char *b )
{
int i = 0;
while ( a[i] == b[i] )
{
if( a[i] = '\0' )
{
return 0;
}
i ++;
}
return a[i] - b[i];
}
可见标红的判断语句中出现了明显的错误,括号中是赋值语句。
修改之后
int mystrcmp( char *a, char *b )
{
int i = 0;
while ( a[i] == b[i] )
{
if( a[i] == '\0' )
{
return 0;
}
i ++;
}
return a[i] - b[i];
}
就没有warning了。
当平时故意在判断括号中使用赋值语句时,可加一个括号,便可以让编译器不再出现warning。