ico117 发表于 2020-3-11 19:45:02

关于!取反的用法

来自C语言视频课的一个例子:
      
      char str1[]="fishc.com";
        char str2[]="fishc.com";
       
        if(!strcmp(str1,str2)) // 请问这里的感叹号取反具体怎么解释这段代码,既然是比较为什么还要取反啊
        {
                printf("两个字符串完全一致\n");
        }
        else
        {
                printf("两个字符串纯在差异\n");
        }

冷回清风暖 发表于 2020-3-11 20:06:22

https://fishc.com.cn/thread-70567-1-1.html
strcmp 当两个字符串相同时返回0
0 在if判断里面时一个假值
所以取反 之后 0 变成 1
if里面的条件才为真
然后输出 ”两个字符串完全一致“

如果两字符串不等 返回非0值
取反后 为0
输出 "两个字符串纯在差异"

楼主 如果有用 记的给个最佳{:10_297:}

ico117 发表于 2020-3-11 21:27:18

冷回清风暖 发表于 2020-3-11 20:06
https://fishc.com.cn/thread-70567-1-1.html
strcmp 当两个字符串相同时返回0
0 在if判断里面时一个假值 ...

感谢!
页: [1]
查看完整版本: 关于!取反的用法