#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')
// str1[i++] =getchar();
printf("请输入第二个字符串:");
i=0;
while((str2[i++] =getchar()) !='\n')
// str2[i++] =getchar();
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;
}
就是比较前n个字符啊,如果不相等则跳出循环
i++的目的是为了与最后遍历完所有n个字符后,i还会执行i++保持一致。使得printf时的i-1就是最后一个进行比较的字符的下标。这两个字符如果想等,那么字符串比较结果就是0,表示相同,否则不是0,表示不完全相同
if(str1[i] -str2[i]){
等价于
if(str1[i] -str2[i]!=0){