你写的这个代码有问题吧,上面的代码不能比较字符串吧,str1-str2一直拿两个地址在比较一直都是不同的呀。
修改如下:#include <stdio.h>
#define MAX 1024
int main(){
char str1[MAX];
char str2[MAX];
int i = 0;
unsigned int n;
printf("请输入第一个字符串:");
while ((str1[i++] = getchar()) != '\n');
printf("请输入第二个字符串:");
i = 0;
while ((str2[i++] = getchar()) != '\n');
printf("请输入比较的字符数:");
scanf("%u", &n);
for (i = 0; i < n; i++)
{
if (str1[i] - str2[i])
{
i++;
break;
}
}
printf("比较的结果是:%d\n", str1[i-1] - str2[i-1]);
return 0;
}
break中的i++是因为在结束循环后中有i-1的操作,如果去掉i++在printf中将i-1去掉也可以找到第一个不同的字符,然后计算差值 |