比较字符串大小,萌新求教
#include <stdio.h>int main()
{
char str1;
char str2;
gets(str1);
gets(str2);
int i;
for(i=0;i<=19;i++)
if(str1!=str2) //这一段是否多余呢?
break;
if(str1>str2)
printf("%d",str1-str2);
else if(str1==str2)
printf("%d",0);
else
printf("%d",str1-str2);
printf("\n");
return 0;
}
本帖最后由 jackz007 于 2022-11-28 23:52 编辑
if(str1!=str2)
这一句在 str1 = str2 的情况下确实多余,因为,循环会在条件不能满足(i <= 19)的情况下结束,而不会指望 break,但是,当 str1 和 str2 不相同的时候,这个 break 恰恰是最为关键的语句,因为,两个字符串对应的字符不相等,就没有必要继续循环了,而且,这个时候,恰好可以让两个字符串见见高低。
#include <stdio.h>
int main()
{
char str1 ;
char str2 ;
int i ;
gets(str1) ;
gets(str2) ;
for(i = 0 ; str1 && str2 ; i ++)
if(str1 != str2)
break ;
printf("%d\n" , str1 - str2);
return 0 ;
} 你这个代码能运行? zoupeng 发表于 2022-11-28 23:56
你这个代码能运行?
能呀
页:
[1]