寻求c语言高手!!!帮忙改错!!!谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:04:45
改错题:

以下程序用了对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdef和abeeef,则输出为-1。请改正程序中的错误,使程序能得到正确的结果。包含错误的源程序如下:

#include<stdio.h>
void main()
{char str1[100],str2[100];
int i,s;
printf("\n input string 1:\n");
getchar(str1);
printf("\n input string 2:\n);
getchar(str2);
i=0;
while((str1[i]!=str2[i])&&(str1[i]=='\0'))
i++;
s=str[i]+str2[i];
printf("%d\n",s);
}

把正确的程序写在出来,谢谢你们了,好了我加分!!!

#include<stdio.h>
void main()
{char str1[100],str2[100];
int i,s;
printf("\n input string 1:\n");
gets(str1);
printf("\n input string 2:\n");
gets(str2);
i=0;
while((str1[i]==str2[i])&&(str1[i]!='\0'))
i++;
s=str1[i]-str2[i];
printf("%d\n",s);
}

#include<stdio.h>
void main()
{
char str1[100],str2[100];
int i=0,s;
printf("\n input string 1:\n"); gets(str1);
printf("\n input string 2:\n"); gets(str2);
while((str1[i]==str2[i])&&(str1[i]!='\0'))
i++;
s=(int)str1[i]-(int)str2[i];//这里强转成int型来算,才不容易出问题
printf("%d\n",s);
}