大家帮我看看这个简单的C程序

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:04:05
#include <stdio.h>
main()
{
int n,i;
char s1[10],s2[10];
gets(s1);
gets(s2);
for(i=0;i<10;i++)
{
n=s1[i]-s2[i];
if(n==0)
continue;
else break;
}
printf("%d",n);
}
我输入hook.回车,hook,回车
为什么结果不是零,而是47

你可以先试一下:
char s1[10]="hook";
char s2[10]="hook";
如果这样没问题,那说明是回车的问题.

if(n==0)
continue;
else break;
这里的n!=0才执行break啊,由于你两个字符串一样,到结束字符\'\\0\'-\'\\0\'还是=0;所以算到字符串后面去了,还有continue是什么,

我运行了一下结果是0
continue是跳出当前循环,继续执行下一次循环。
与break的区别是不终止循环。