您的位置:首页 > 编程语言 > C语言/C++

[C]记录C语言中由于粗心遇到的奇葩错误.

2016-07-12 10:35 309 查看
1.

正确代码:

for( word = strtok( buf, whitespace); word != NULL; word = strtok( NULL, whitespace)) {
if (strcmp(word,"the" )  == 0  )


错误代码:

for( word = strtok( buf, whitespace); word != NULL; word = strtok( NULL, whitespace));{
if (strcmp(word,"the" )  == 0  )


错误原因: 由于多了个分号.所以for循环体中实际执行的代码是 ; 这行空语句, if语句则变成了循环体外,

所以在调用strcmp中,参数word将永远为NULL.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: