首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请大家伙儿看看,不懂啊

2012-11-08 
请大家看看,不懂啊!#include stdio.h#include string.hvoid addspace(char x[])void main(){char a[1

请大家看看,不懂啊!
#include "stdio.h"
#include "string.h"
void addspace(char x[]);

void main()
{
char a[100];
printf("输入4个数字:\n");
scanf("%s",&a);
addspace(a);
printf("结果输出:%s\n",a);

}
void addspace(char x[])  
 {
int i;
i=strlen(x);
for(i=strlen(x)-1;i>0;i--)
{
x[2*i]=x[i];
x[2*i-1]=' ';
}

}
输入4个数字,每个数字之间插入一个空格。
我写的如上这一段,正常输出后紧跟着就输出一堆乱七八糟的字符,不知道哪里错了啊!,比如输入2222,i的值是4
x[6]==2,x[5]==' ',x[4]==2,x[3]==' ',x[2]==6,x[1]==' ',x[0]依然是2,原样输出,
感觉没错,为什么结果是2 2 2 2烫烫烫烫烫烫烫烫烫烫烫烫,这个烫哪里来的

[解决办法]
字符串数组最后加上'\0';或者用字符指针,先分配内存。

热点排行