关于#c语言#的问题,请各位专家解答!

#include <stdio.h>void main(){ int i,resu; char s1[20]=”Beijing”;char s2[20]=”Huaibei”; i=0;while((s1[i]==s2[i])&&(s1[i]!=’\0’)) i++; if(s1[i]==’\0’&&s2[i]==’\0’) resu=0;else resu=s1[i]-s2[i]; printf("\nresult:%d\n",resu);}
while循环是怎么执行的?

i = 0
s1[0]!=s2[0]
所以while的第一个条件不成立
退出循环
进入else
计算B-H(ASCII码差值)作为结果
结果是-6

(s1[i]==s2[i])&&(s1[i]!='\0')
两个条件都不成立
i不变,循环结束

img


如图