C语言 这样编的strcat函数有错吗,运行结果“I amking”后面还有“?”的...

发布网友 发布时间:2024-10-24 03:29

我来回答

3个回答

热心网友 时间:2024-11-19 03:40

你写错了,倒数第二行应该是a[i]='\0',你赋到b上去了,所以可能有乱码。
还有,你这个程序冲内存了,你定义的a数组,系统给的长度是5,而你在程序里有继续修改后面的值,这个区域已经不属于a数组的范围了,记住啊,千万不能这么玩。
修改的方法是定义的时候给出足够长度:char a[20] = "I am" ;

热心网友 时间:2024-11-19 03:39

最后一个应该是a[i]=0;

热心网友 时间:2024-11-19 03:38

#include<stdio.h>
void main()
{ int i=0,j=0;
char a[]="I am";
char b[5]="king";
while(a[i]!=0)
i++;
while(b[j]!=0)
{a[i++]=b[j++];}
a[i]='\0';//看这里!!
printf("%s\n",a);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com