关于c语言22讲第三题
#include<stdio.h>int main()
{
char str1,str2;
char *p=str1,*q=str2;
int i=0,sign=1;
printf("请输入第一个字符串:");
fgets(str1,1024,stdin);
printf("请输入第二个字符串:");
fgets(str2,1024,stdin);
while(*p++ == *q++)
{
i++;
if(*p++=='\0')
{
sign=0;
break;
}
}
if(sign)
{printf("两个字符串不完全相同,第%d个字符出现不同!",i+1);}
else
{printf("两个字符串完全一致!");}
}
不知道为什么总会显示第二个字符不同。。是循环里面出了问题吗{:10_292:} 你的if里面的条件写错了。第1个的++删掉。第2个改为(sign==0) 你的p加了两次,第2个字符肯定不会相等。写错了,第2个if没有问题。 召唤风云 发表于 2020-2-6 12:03
你的p加了两次,第2个字符肯定不会相等。写错了,第2个if没有问题。
哦哦原来是这样!!{:10_292:}非常感谢您的帮助{:10_297:}
页:
[1]