任何人都可以解释这行代码的含义
printf("%d",strcmp("strcmp()","strcmp()"))
答案 0 :(得分:1)
代码只是个笑话......
它只比较两个固定字符串。为了使它混淆,两个字符串包含库函数(strcmp)的名称,但是 - 原因 - 不会使它成为函数调用。
代码
printf("%d",strcmp("strcmp()","strcmp()"))
类似于
printf("%d",strcmp("A","A"))
它将打印0
(零),因为字符串是相同的,strcmp
在字符串具有精确比较时返回零。
答案 1 :(得分:0)
strcmp()负责字符串的字典比较(字符顺序).i.e。第一个字符与第一个字符相比如果等于第二个字符,依此类推。 它的签名如下:
int strcmp(const char *str1, const char *str2)
http://forgetcode.com/C/1026-strcmp-lexicographically-compares-two-strings https://www.tutorialspoint.com/c_standard_library/c_function_strcmp.htm
此函数返回如下值:
如果返回值< 0然后它表示str1小于str2。
如果返回值> 0然后它表示str2小于str1。
如果返回值= 0则表示str1等于str2。