这个是怎么回事
本帖最后由 孤世星辰 于 2020-4-9 16:29 编辑#include<stdio.h>
#define MAX 1024
int main()
{
char str2;
char str1;//确保连接后不越界
char *target1=str1;
char *target2=str2;
char ch;
int index=1;
int n;
printf("请输入第一个字符串:");
fgets(str1,MAX,stdin);
printf("请输入第二个字符串:");
fgets(str2,MAX,stdin);
printf("请输入需要对比的字符个数:");
scanf("%d",&n);
while(n && *target1!= '\0' && *target2!= '\0')
{
ch=*target1;
if((int)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;
}
感觉只跟我输入的n有关系,但是我明明输出的是index哇 49行代码,行行还加个序号。好看吗? printf("两个字符串的前%d个字符完全相同!\n");
41行,这个%d 你没给他它传个值,它是随机的。{:5_91:} 本帖最后由 孤世星辰 于 2020-4-9 15:32 编辑
ba21 发表于 2020-4-6 23:33
49行代码,行行还加个序号。好看吗?
不是我手动加的。。是编译器他自己加的,复制的时候就会一起复制上去
我也不知道为啥就这样了,搞的我也很难受,大佬知道怎么解决么 小笨笨难得糊涂 发表于 2020-4-7 13:05
printf("两个字符串的前%d个字符完全相同!\n");
41行,这个%d 你没给他它传个值,它是随机的。
还是不对。。。
孤世星辰 发表于 2020-4-9 15:09
不是我手动加的。。是编译器他自己加的,复制的时候就会一起复制上去
我也不知道为啥就这样了,搞的 ...
提问对别人最基本的尊重。
代码格式等等 不对自己改好再上。不好的代码上上来有何意义????
除了2个可能,我想不到别的。
1,给答题着练手
2,再你看来答题着都是神 孤世星辰 发表于 2020-4-9 15:09
不是我手动加的。。是编译器他自己加的,复制的时候就会一起复制上去
我也不知道为啥就这样了,搞的 ...
cat main.c
然后再复制
当然vim也可以配置,直接复制到剪切板,具体自己百度
ba21 发表于 2020-4-9 15:36
提问对别人最基本的尊重。
代码格式等等 不对自己改好再上。不好的代码上上来有何意义????
除了2个 ...
不好意思,我也不知道怎么复制的时候不复制那个序号,每次手动删就很麻烦,所以就没弄,大佬知道怎么把这个去掉么,我以后肯定把格式弄好了在上 人造人 发表于 2020-4-9 16:06
然后再复制
当然vim也可以配置,直接复制到剪切板,具体自己百度
好,谢谢 ba21 发表于 2020-4-9 15:36
提问对别人最基本的尊重。
代码格式等等 不对自己改好再上。不好的代码上上来有何意义????
除了2个 ...
那个.....我已经把那个改好了,以后我都会注意的{:5_100:}大佬可以帮我看一下哪里错了咩,谢谢大佬了{:10_254:}
页:
[1]