我正在查看我的产品中的一些旧代码,我发现了以下代码。
#include <stdio.h>
#include <string.h>
int main ( int argc, char **argv) {
const char *str = "abcdefghi";
int value = strcmp(str, "abcdefghi") == 0;
}
int value = strcmp(str, "abcdefghi") == 0;
此类代码的目的是什么。
答案 0 :(得分:5)
它初始化value
,strcmp(str, "abcdefghi") == 0
的结果为0
或1
,具体取决于strcmp
返回的内容。
答案 1 :(得分:1)
在C表达式中使用关系运算符的结果为0或1。
答案 2 :(得分:0)
如果strcmp(str, "abcdefghi")
返回0
,则strcmp(str, "abcdefghi") == 0
将返回true,value
将被分配值1.如果返回1,则将分配value
值为0.
答案 3 :(得分:0)
int value = strcmp(str, "abcdefghi") == 0;
就像是
int value = (strcmp(str, "abcdefghi") == 0);
现在在inside()中,如果strcmp返回0然后(0 == 0),这意味着它将给出1
if strcmp returns anything else then 0 then () will give 0