{
char array[2][10]={"3234","5"};
int n=strcmp(array+0,array+1);
printf("%d",n);
}
结果背后的逻辑是什么? (是否只有第一个数字才被考虑?)
那么,有没有一种方法可以比较两个数字串,而不比较它们的实际整数值呢?
结果背后的逻辑是什么?
strcmp
比较字符串中的字符,用它们的值作为结果。unsigned char
. 首先,它将一个字符串的第一个字符与另一个字符串的第一个字符进行比较。如果它们不同,如果第一个字符串的字符小于另一个字符串的字符,它就报告第一个字符串 "小于 "第二个字符串,如果第一个字符串的字符大于,它就报告 "大于"。如果字符相等,那么 strcmp
比较字符串的第二个字符,然后是第三个字符,以此类推。(如果一个字符串比另一个短,但直到其末端都是相同的,结束它的空字符将导致它比另一个字符串小。)
那么,有没有一种方法可以比较两个数字字符串,而不对它们的实际整数值进行比较呢?
目前还没有标准的库例程来解决这个问题。你可以为它写一个例程。