课后题
指针和数组的课后题的第三题的进阶代码,不管是代码复制粘贴到Dev-C++还是VM自己编写一样出现错误。 投错板块了 什么错误?代码? 基本就是代码都是照着模板编下来,另一个直接复制粘贴代码然后执行测试的结果却不正确。 我很郁闷{:10_266:} #include <stdio.h>
#define MAX 1024
int main()
{
char str1;
char str2;
char *target1 = str1;
char *target2 = str2;
char ch;
int index = 1, n;
printf("请输入第一个字符串:");
fgets(str1, MAX, stdin);
printf("请输入第二个字符串:");
fgets(str2, MAX, stdin);
printf("请输入需要对比的字符个数:");
scanf("%d", &n);
while (n && *target1 != '\0' && *target2 != '\0')
{
ch = *target1;
if (ch < 0)
{
if (*target1++ != *target2++ || *target1++ != *target2++)
{
break;
}
}
if (*target1++ != *target2++)
{
break;
}
index++;
n--;
}
if ((n == 0) || (*target1 == '\0' && *target2 == '\0'))
{
printf("两个字符串的前 %d 个字符完全相同!\n", index);
}
else
{
printf("两个字符串不完全相同,第 %d 个字符出现不同!\n", index);
}
return 0;
} 用英文测试 版主
if (ch < 0)
{
if (*target1++ != *target2++ || *target1++ != *target2++)
{
break;
}
}
这段啥意思啊? index为什么执行之后没有+1?我也好好奇啊! 内裤外穿很好看 发表于 2020-4-8 11:01
版主
if (ch < 0)
{
char类型表示字符时是不会为负数的
这一段并不会执行 那不就表示C课后作业的代码真的有问题
页:
[1]