字符串插入空格的问题
输入一串字符 运行程序输出结果为:俩俩字符间加入一个空格。我的代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
void spac(char[]);
char s1[80];
printf("input s1:");
gets(s1);
spac(s1);
printf("%s\n", s1);
return 0;
}
void spac(char s1[])
{
int i;
for(i = 0; i < (int)strlen(s1); i++)
{
s1[2 * i] = s1[i];
s1[2 * i - 1] = ' ';
}
}
输出结果是什么都没有,如果把for(i = 0; i < (int)strlen(s1); i++)改为for(i = (int)strlen(s1); i > 0; i--)
则有正确的结果。不知道为什么,谁能解释下。
[ 本帖最后由 有容就大 于 2011-12-14 13:53 编辑 ]