编程小辣鸡…
2022-01-15 09:03
采纳率: 88.6%
浏览 10

怎么比较最大的字符串呢 是一对一比较 遇到`\0'就结束呢

输出字符串数组中最大的字符串
void main()
char ch[3]10]= { "good", "bad", "zoo" },*p;int i;
p = ch[0];
for(i= 1;i< 3;i++)
if (strcmp(p, ch[i]) < 0) p = ch[i];
printf("最大的字符串为: %s\n", p);
怎么算是最大的字符串呢

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • bekote 2022-01-15 10:02
    已采纳

    应该是strcmp(p, ch[i]) > 0
    strcmp就是用来比较两个字符串的,比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,例如"aa"<"ba"<.......<"za"
    如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的如"aa"<"aab"

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题