<New>写一函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格
例如输入的是1990那么输出的应该是1_9_9_0#include"stdio.h"#include"string.h"insert_32(charstring[]){i...
例如输入的是1990那么输出的应该是1_9_9_0
#include"stdio.h"
#include"string.h"
insert_32(char string[])
{
int i=0;
/* for(i=strlen(string);i>0;i--){ */
for(i=1;i<=strlen(string);i++) /*这句为什么也有问题?555*/
string[2*i]=string[i];
string[2*i-1]=' ';
}
string[strlen(string)-1]='\0';
}
int main()
{
char str[100];
gets(str);
insert_32(str);
printf("%s",str);
} 展开
#include"stdio.h"
#include"string.h"
insert_32(char string[])
{
int i=0;
/* for(i=strlen(string);i>0;i--){ */
for(i=1;i<=strlen(string);i++) /*这句为什么也有问题?555*/
string[2*i]=string[i];
string[2*i-1]=' ';
}
string[strlen(string)-1]='\0';
}
int main()
{
char str[100];
gets(str);
insert_32(str);
printf("%s",str);
} 展开
1个回答
展开全部
........
int i=0;
for(i=strlen(string);i>0;i--){ /*这行正确,从高位开始换,不会影响低位的数据.*/
/*for(i=1;i<=strlen(string);i++){ 这里的不行,因为这样会盖掉高位还没有被转移的数.比如string[2]=string[1],string[2]原来里面的数9(假设你输入的是1990)就会被你覆盖掉.所以这一行删掉*/
string[2*i]=string[i];
string[2*i-1]=' ';
.......
int i=0;
for(i=strlen(string);i>0;i--){ /*这行正确,从高位开始换,不会影响低位的数据.*/
/*for(i=1;i<=strlen(string);i++){ 这里的不行,因为这样会盖掉高位还没有被转移的数.比如string[2]=string[1],string[2]原来里面的数9(假设你输入的是1990)就会被你覆盖掉.所以这一行删掉*/
string[2*i]=string[i];
string[2*i-1]=' ';
.......
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询