将b[100]先初始化,可以解决问题
#include
#include
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++]=' ';
}
}
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
#include
void output( int n ) //递归,正序输出每一位数
{
if ( n < 10 )
printf("%d", n );
else
{
output( n/10 );
printf(" %d", n%10 );
}
}
int main()
{
int i;
printf("input n: ");
scanf("%d", &i );
output( i );
printf("\n");
return 0;
}
要求输入的数字,不是字符串,因此需要用%d输入整数
#include
void main() { int x,xx;
scanf("%d",&x); xx=x; while ( xx ) { printf("%d ",xx%10); xx/=10; }
printf("\n");
}
输入'1990'后,函数a()中i从4到1循环。
b[8]=b[4]; (b[8]='\0')
b[7]=' ';
b[6]=b[3]; (b[6]='0')
b[5]=' ';
b[4]=b[2]; (b[4]='9')
b[3]=' ';
b[2]=b[1]; (b[2]='9')
b[1]=' ';
b[0]不变(仍为'1')
最后输出一个串长为8的字符串:'1 9 9 0 '。
void insert(char str[]) 这个是函数定义
void insert(char []);这个是函数声明
2 i的初值是str的长度 strlen是函数 加头文件string.h 也可以写成你那样 但是下面的语句就得变
3 这个和语言无关了 你自己把代码走一遍就清楚了