写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格?
这一段是谭浩强书本的答案代码。为什么不用手动加结束符'\0'?voidinsert(charstr[]){inti;for(i=strlen(str);i>0;i--){...
这一段是谭浩强书本的答案代码。为什么不用手动加结束符'\0'?
void insert(char str[])
{
int i;
for (i = strlen(str); i > 0; i--)
{
str[2 * i] = str[i];
str[2 * i - 1] = ' ';
}
printf("output:\n%s\n", str);
} 展开
void insert(char str[])
{
int i;
for (i = strlen(str); i > 0; i--)
{
str[2 * i] = str[i];
str[2 * i - 1] = ' ';
}
printf("output:\n%s\n", str);
} 展开
2个回答
展开全部
将b[100]先初始化,可以解决问题
#include<stdio.h>
#include<string.h>
int main()
{
void num_space(char a[],char b[]);
char a[100],b[100]="";
printf("请输入任意四位来数:");
gets(a);
num_space(a,b);
printf("%s\n",b);
return 0;
}
void num_space(char a[100],char b[100])
{
int i,j=0;
for(i=0;a[i]!='\0';i++)
{
b[j++]=a[i];
b[j++]=' ';
}
}
#include<stdio.h>
#include<string.h>
int main()
{
void num_space(char a[],char b[]);
char a[100],b[100]="";
printf("请输入任意四位来数:");
gets(a);
num_space(a,b);
printf("%s\n",b);
return 0;
}
void num_space(char a[100],char b[100])
{
int i,j=0;
for(i=0;a[i]!='\0';i++)
{
b[j++]=a[i];
b[j++]=' ';
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询