字符串连接
#include <conio.h>
main()
{
char s1[80],s2[80];
int i=0,j=0;
printf("String1:");
gets(s1);
printf("\nString2:");
gets(s2);
while(s1[i]!='\0')
i++; //求出i的终值为String1的有效字符长度
while(s2[j]!='\0')
s1[i++]=s2[j++];
s1[i]='\0';
puts(s1);
getch();
}
其中的s1[i++]=s2[j++]替换成{i++;s1[i]=s2[j];j++}为什么不对?
错在哪里呀?
问题点数:20、回复次数:3Top
1 楼Maxwell(不可知)回复于 2003-01-05 00:56:38 得分 0
while(s1[i]!='\0')
i++;
在这个循环里面i已经指向字符串结尾的0了,替换成i++;s1[i] = s2[j]就会把s2的第一个字符存到0后面的一个位置了。Top
2 楼enutter(The Notorious G.W.W.)回复于 2003-01-05 10:06:10 得分 0
while(s1[i]!='\0')
i++;
//求出i的终值为(String1的有效字符长度+1 )Top
3 楼wangweicai(关外才子)回复于 2003-01-05 12:54:11 得分 20
应替换为:
{s1[i]=s2[j];i++;j++}
or
{s1[i++]=s2[j];j++}
or
{s1[i++]=s2[j++]}即原代码所示Top




