C程序求指错 比较两个数组大小

#include<stdio.h>voidmain(){chara[20],b[20];inti,c,k=0;gets(a);gets(b);for(i=0;i<=19;... #include<stdio.h>
void main()
{char a[20],b[20];
int i,c,k=0;
gets(a);gets(b);
for(i=0;i<=19;i++)
{if(a[i]!=b[i])
{k++;
c=a[i]-b[i];
if(c>0) printf("a>b");
if(c<0) printf("a<b");}break;}
if(k==0) printf("a=b");
return 0;
}
输出结果为何只能比较第一个字符????求指错谢谢
展开
 我来答
听不清啊
高粉答主

2013-12-15 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:2亿
展开全部
这是因为被你的break语句强行退出了。原来的break语句是无条件执行的,所以就只有第一个字符被比较了。下面的程序已经改正,并运行通过。
#include<stdio.h>
void main()
{char a[20],b[20];
int i,c,k=0;
gets(a);gets(b);
for(i=0;a[i]!='\0'&&b[i]!='\0';i++)
{if(a[i]!=b[i])
{k++;
c=a[i]-b[i];
if(c>0) printf("a>b\n");
if(c<0) printf("a<b\n");
break;
}
}
if(a[i]==b[i]) printf("a=b\n");
return 0;
}
sKy孤魂
2013-12-16
知道答主
回答量:1
采纳率:0%
帮助的人:1461
展开全部
break跳出循环了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式