输入一个四位数字,空格输出对应数字字符
利用ASCII码输出字符哪里出错了
#include <stdio.h>
#include <string.h>
int main()
{
char str(int y);
int a;
scanf_s("请输入一个四位数字:%d", &a);
str(a);
return 0;
}
char str(int y)
{
int b,c,d,e;
b = y / 1000;
c = (y % 1000) / 100;
d = (y % 1000) % 100 / 10;
e = y - 1000 * b - 100 * c - 10 * d;
int a[10];
a[0] = b + 48;
a[1] = c + 48;
a[2] = d + 48;
a[3] = e + 48;
printf("%c %c %c %c", a[0], a[1], a[2], a[3]);
return 0;
}
scanf_s("请输入一个四位数字:%d", &a);
这真是一个扯淡的写法
你这样写,那么输入的时候必须输入“请输入一个四位数字:1990”才行,否则格式不对,a得不到赋值
你的“请输入一个四位数字:”应该写在printf里而不是scanf里
char str(int x[]); 这里声明的是一个参数为数组的,但是char str(int y) 你实现和传的数都是一个整数,估计是用错了吧