菜鸟级的学习问题
题目:编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一正数.若sl=s2,输出0:若s1<2,输出一个负数,不要用strcPy函数。两个字符串用gets函数输入。输出的正数或负数的绝对值应是相比较的两个字符中相应字符的ASCII码的差值,例如,“A”与“C”相比,由于“A”<“C”.应输出负数.同时由于'A'与'C'的ASCII码差值为2,因此应输出“-2”。同理:“And”和”Aid“比较,根据第2个字符比较结果,“n”比“i”大5。.因此应输出“5”。 #include <stdio.h>
int main()
{char str1[100],str2[100];
int a,i,sum=0;
printf("输入第1行:\n");
gets(str1);
printf("输入第2行:\n");
gets(str2);
for (i=0;i<100;i++)
{
if(str1[i]==str2[i] && '\0'==str1[i])
{break;}
else
a= (int)(str1[i]-str2[i]);
sum+=a;
}
printf("%d",sum);
return 0; }
如果我不写 if(str1[i]==str2[i] && '\0'==str1[i]) {break;} else
写成
#include <stdio.h> int main() {char str1[100],str2[100]; int a,i,sum=0; printf("输入第1行:\n"); gets(str1); printf("输入第2行:\n"); gets(str2); for (i=0;i<100;i++) { a= (int)(str1[i]-str2[i]); sum+=a; } printf("%d",sum); return 0; } 写成这样的话为什么程序运行出来的结果就会错误呢???