if(!strcmp(recvbuf,"quit")){//判断用户输入的是否是quit
break;
}这段代码,如果recvbuf和quit相等,strcmp返回的不是真。if()里面不是为真的时候才执行下面的代码吗?为什么加了!号才执行
2 回答
已采纳
___C___
TA贡献168条经验 获得超109个赞
简单说明:
一:当recvbuf和"quit"相等时,strcmp返回0,即 strcmp(recvbuf,"quit")) 为 false
二:在false加了!,取反,即 !strcmp(recvbuf,"quit")) 为 true
三:if(true) 即执行 break;
谢谢采纳。
芝麻大点
TA贡献7条经验 获得超1个赞
strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回true ,不同返回false;
if()如果括号里面是true,则执行if里面的代码,里面有个“!”,那么strcmp(s1,s2)的返回值是false才执行if里面的代码,这样的话if(!strcmp(recvbuf,"quit"))则是如果recvbuf和“quit”不相等,才执行if里面的代码,相等是不执行的。
- 2 回答
- 0 关注
- 2143 浏览
添加回答
举报
0/150
提交
取消