一道简单的c语言题,大家帮忙看一下~会追分的!

2024-12-24 23:48:54
推荐回答(5个)
回答1:

此程序是判断两个字符是否相等,不相等则输出第一个不同字符之间的ASCII差值。相等就执行两次i++(你的if语句有一个i++,不知道是否是笔误),继续向右进行判断,但是是间隔了一个,如果还相等,重复执行两次i++,直到有字符数组中的字符是"\0”,此时,输出r,值仍然是0

回答2:

注意哦:
#include
main()
{ int i,r;
char s1[80]="bus";
char s2[80]="book";
for(i=r=0;s1[i]!='\0'&&s2[i]!='\0';i++)
if(s1[i]==s2[i]) i++;//这里的i++与for循环里的i++,i加了两次,所以啊...你知道的
else { r=s1[i]-s2[i]; break; }
printf("%d",r);
}

回答3:

就是一步一步的看呀~
首先i=r=0的时候,s1[0]=s2[0],i++;
其次i=r=2的时候,s1[2] != s2[2],r = 's'-'o' = 115 - 111 = 4;115,111 是's','o'对应的ASCII码值,然后跳出循环~
最后输出r = 4!

回答4:

此程序是判断两个字符是否相等,相等则输出0,不相等则输出第一个不同字符之间的ASCII差值。

回答5:

应该是只判断奇数位的字符第一次不相等时就输出ASCII码的差值。