【c语言改错】判断两字符是否相等
#include<stdio.h>
main()
{
char str1[10], str2[10];
int i, j, flag;
printf("\n");
scanf("%s%s", str1, str2);
i=0;
j=0;
while (str1[i] == str2[j])
{
j++;
if (str1[i] == '\0' || str2[j] == '\0')
{
break;
}
}
if (str1[i] == '\0'&&str2[j] == '\0')
{
flag = 0;
}
else
{
flag = 1;
}
if(flag)
{
printf("the two string are equal.");
}
else
{
printf("the two string are not equal.");
}
printf("\n");
}
我认为问题出在while那里,但我不知道怎么改
[解决办法]
参考下面的代码:
#include<stdio.h>int main(void){ char str1[10], str2[10]; int i, j, flag; printf("\n"); scanf("%s%s", str1, str2); i=0; j=0; while (str1[i] == str2[j]) { if (str1[i] == '\0' || str2[j] == '\0') { break; } else { i++; // 楼主的代码没有行 j++; } } if (str1[i] == '\0'&& str2[j] == '\0') { flag = 0; } else { flag = 1; } if(flag) // printf中的提示信息搞反了 { printf("the two string are not equal."); } else { printf("the two string are equal."); } printf("\n"); return 0;}