c语言程序的编写

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:26:41
#include "stdio.h"
main()
{char s1[]="abcd",s2[]="defg";
int i,j;
clrscr();
for(i=0;s1[i];i++);
for(j=0;s2[j];j++)
{s1[i]=s2[j];i++;}
s1[i]=0;
puts(s1);
}
请问可不可以写成这样
#include "stdio.h"
main()
{char s1[20]="abcd",s2[]="defg";
int i,j;
clrscr();
for(i=0;s1[i];i++);
for(j=0;s2[j];j++)
{s1[i]=s2[j];i++;}
puts(s1);
}

最后的运行结果是怎样的?

如果没看错,,你只是去掉原来的程序那个,s1[i]=0;是吧,,这个很重要的,不能没有的,,这个是给字符串加一个字符串结束标志,不仅起标志作用,还起空操作作用,,如果没有这个,后面的puts(s1);就会输出一连串的乱码了,,

I don't know