c语言语句分析 while(s1[i]&&s2[i]&&s1[i]==s2[i])void main(){char s1[300],s2[300];int result,i=0;printf("请输入两个字符串:");scanf("%s%s",s1,s2);while(s1[i]&&s2[i]&&s1[i]==s2[i]) i++;result=s1[i]-s2[i];printf("字符串%s",s1);if(resu

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 20:41:04
c语言语句分析 while(s1[i]&&s2[i]&&s1[i]==s2[i])void main(){char s1[300],s2[300];int result,i=0;printf(

c语言语句分析 while(s1[i]&&s2[i]&&s1[i]==s2[i])void main(){char s1[300],s2[300];int result,i=0;printf("请输入两个字符串:");scanf("%s%s",s1,s2);while(s1[i]&&s2[i]&&s1[i]==s2[i]) i++;result=s1[i]-s2[i];printf("字符串%s",s1);if(resu
c语言语句分析 while(s1[i]&&s2[i]&&s1[i]==s2[i])
void main()
{
char s1[300],s2[300];
int result,i=0;
printf("请输入两个字符串:");
scanf("%s%s",s1,s2);
while(s1[i]&&s2[i]&&s1[i]==s2[i]) i++;
result=s1[i]-s2[i];
printf("字符串%s",s1);
if(result++0)
printf("等于");
else if(result>0)
printf("大于");
else
printf("小于");
printf("字符串%s/n",s2);
}
这个语句怎么理解,它好在哪里?

c语言语句分析 while(s1[i]&&s2[i]&&s1[i]==s2[i])void main(){char s1[300],s2[300];int result,i=0;printf("请输入两个字符串:");scanf("%s%s",s1,s2);while(s1[i]&&s2[i]&&s1[i]==s2[i]) i++;result=s1[i]-s2[i];printf("字符串%s",s1);if(resu
while(s1[i]&&s2[i]&&s1[i]==s2[i]) i++;这句话的主要目的是找出字符串s1和s2第一个不相同的字符的位置,当然为了防止s1是s2的子串或者s2是s1的子串(处理边界问题,防止死循环)另外加了两个条件s1[i]&&s2[i],也就是当其中有一个已经结束时,循环也暂停.然后记录下停下来的位置i,用字符串s1[i]的字符减去s2[i]的字符.整个函数就是判断两个字符串的大小,和strcmp功能一样.