写一个函数,输入一个4位数字,要求输出每两个数字间空一个空格,求指导哪里错了,运行结果出错啊

/*写一个函数,输入一个4位数字,要求输出每两个数字间空一个空格*/
#include<stdio.h>
num_spc(int a)
{
char b[8];
int i, j, m, n;
i = a / 1000;
j = (a - 1000 * i) / 100;
m = (a - 1000 * i - 100 * j) / 10;
n = a - 1000 * i - 100 * j - 10 * m;
b[0] = i;
b[1] = ' ';
b[2] = j;
b[3] = ' ';
b[4] = m;
b[5] = ' ';
b[6] = n;
b[7] = '\0';
return b;
}
void main()
{
int a = 0;
char num;
printf("请输入一个四位数(a):\n");
scanf("%d",&a);
while(a < 1000 || a>9999)
{
printf("输入的不是一个四位数!\n");
printf("请输入一个四位数(a):\n");
scanf("%d",&a);
}

num = num_spc(a);
printf("输出结果为:\n");
printf("%s",num);
}

第1个回答  2012-11-15
b[0] = i; 比如这句

你是将int类型的赋值给char类型的,明显不对,赋值之前要先做类型转换的
大家正在搜