火车驶向云外.11 2022-10-22 19:32 采纳率: 93.3%
浏览 22
已结题

可否解读一下这个c语言程序?

img

可否解读一下这个函数,最后的输出为什么是7?
这里的第八行又是什么意思?

  • 写回答

3条回答 默认 最新

  • ANG1024 2022-10-22 19:57
    关注

    首先要搞懂第八行里的 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。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月22日