for(i=0,m=0;i
{b[m]=a[i];
m++;}}
b[m]='\0';
i从零起的话,就应该是小于n而不应该是小于等于了,要不,就多循环了一次,
就像楼上所说的那样,然后我在最后循环结束后,又给你加了一个
b[m]='\0';这个,是字符串结束标志,如果不写的话,有的时候编译后会出现汉字什么的。反正,我自己是出现过这种情况,所以,我都是在最后面写上结束符的。因为你这个最后m已经自加了,所以,直接
写b[m]='\0';就可以了,
因为你的m大于实际上的a数组里的字母个数。大了1。
i<0……m++
而数组如果没有给定具体值,却有分配内存,这个内存地址里存放的是什么你当然不知道了