可否解读一下这个函数,最后的输出为什么是7?
这里的第八行又是什么意思?
首先要搞懂第八行里的 strcmp 函数,他是一个字符串比较函数,
直接看例子:“abc” 和 “abb” 相比(比较他们的ASCII码值),abc 和 abb前两个字符都相等,比较c和b,c的ASCII码值大于b的ASCII码值,所以函数strcmp("abc","abb")返回1,
如果是abc和abd比较,那返回-1,因为c的ASCII比d的小,
如果是abc和abc相比,那函数返回0,
ac和abc相比,返回1,因为ac的第二个字符比abc的第二个字符大。
搞懂这个函数后再来看这题,j=0,s[j]就是China,依次和后面4个字符串比较,Russian和China比较返回1,满足if条件,j=i=1,此时s[j]就是RussIan了,然后Russian再和其他的相比,都不满足条件,最后输出s[j]的长度,也就是Russian的长度,自然是7。
这个链接有详细讲解:https://www.runoob.com/cprogramming/c-function-strcmp.html
这个程序是选出字符串最大(不是最长)的字符串,并打印长度
字符串大小比较方法: