请帮我看看这个程序
#include<stdio.h>#include<stdio.h>
main()
{char str1[80],str2[80];
int i,j;
i=0;j=0;
printf("输入字符串");
gets(str1);
gets(str2);
while(str1[i]!='\0')i++;
while((str1[i++]+=str2[j++])!='\0');
printf("%s\n",str1);
getchar();
}
输入“abc”,回车,再输入“def”,回车。
得到的输出结果:“abcd?+乱码”(输出结果中没有+)
什么原因啊?敬请赐教!
你是不是想得到:abcefg 这个结果?
如果是那就吧“while((str1[i++]+=str2[j++])!='\0');”中的“+”去掉就好了。
回复 2# carmen0531 的帖子
谢谢啦!搞定!讨论一下
在C语言中,你这两个数组相加是什么意思? 你这样相加,就是把两个数组元素的ASCII码相加了,输出来的当然是乱码了. [tk07] [tk07] [tk07]回复 4# zzt_428 的帖子
该程序实现的是一个strcpy函数的功能!页:
[1]
