【发布时间】:2020-01-15 23:00:02
【问题描述】:
谁能解释一下 if 语句中的感叹号是做什么的(即!strmcp)?
string names[] = {"EMMA", "RODRIGO", "BRIAN", "DAVID"};
// Search for EMMA
for (int i = 0; i < 4; i++)
{
if (!strcmp(names[i], "EMMA"))
{
printf("Found\n");
return 0;
}
}
printf("Not found\n");
return 1;
【问题讨论】:
-
这能回答你的问题吗? Using boolean values in C
-
这个帖子的答案应该对你有帮助:stackoverflow.com/questions/1598425/…
-
如果返回 0,也就是 false,当 2 个字符串匹配时,也就是相同。这 !对那个假做一个逻辑非,得到真,并在字符串相同时输入 if。什么时候真正应该打印出来
-
代码很好,但不清楚。最好是
if (0 == strcmp(... -
相关信息请参见How do I check if a value matches a string。符号
!strcmp(…)等价于strcmp(…) == 0——但不太清楚,IMO。