alei21 发表于 2008-7-22 02:33

请帮我看看这个程序

#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?+乱码”(输出结果中没有+)
什么原因啊?敬请赐教!

carmen0531 发表于 2008-7-22 02:51

输入“abc”,回车,再输入“def”,回车。
你是不是想得到:abcefg  这个结果?


如果是那就吧“while((str1[i++]+=str2[j++])!='\0');”中的“+”去掉就好了。

alei21 发表于 2008-7-22 12:58

回复 2# carmen0531 的帖子

谢谢啦!搞定!

zzt_428 发表于 2008-8-9 17:36

讨论一下

在C语言中,你这两个数组相加是什么意思? 你这样相加,就是把两个数组元素的ASCII码相加了,输出来的当然是乱码了.

tt6655 发表于 2008-8-9 17:47

[tk07] [tk07] [tk07]

alei21 发表于 2008-8-17 12:23

回复 4# zzt_428 的帖子

该程序实现的是一个strcpy函数的功能!

页: [1]

编程论坛