为什么这段代码打印的是202?‘e’的ascii值为101,空字符的ascii值为0。那么它不应该打印101吗?
但是当我交换 s1 和 s2 时,我确实得到了 -101 作为答案。
#include<stdio.h>
#include<string.h>
int main(int argc, char *argv[])
{
char s1[50] = "ape";
char s2[50] = "ap";
printf("%d ", strcmp(s1, s2));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
“那么它不应该打印101吗?”
不需要,strcmp()在这种情况下只需要返回一些正值。
当 s1 指向的字符串大于、等于或小于 s2 指向的字符串时,该
strcmp函数相应地返回一个大于、等于或小于零的整数。
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |