小菜的问题(C语言)

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:40:48
编写一个space(x)函数,为两个输出数字之间提供X宽的空间.我这样编可运行不了,哪里出错了?小菜初学.大虾指教!谢谢
void space(char ch);
main()
{
int x=2;int y=4;
printf("%d%c%d",x,space(''),y);
getch();
}
void space(char ch)
{
int i,x;
scanf("%d",&x);
for(i=0;i<x;i++)
printf("%c",ch);
}

这样编不行的原因是
你void space(char ch);是没有返回值的
而这里是要返回值printf("%d%c%d",x,space(''),y);
所以编译过不了
还有printf("%d%c%d",x,space(''),y);的space('')中两个引号中间要有一个空格,不然也是打不出空格来的,因为赋值是空的,有一个空格就是赋值是空格
如果你实在是想这样就可以可成下面这样
int space(char ch);
main()
{
int x=2;int y=4;
printf("%d%s%d",x,space(' '),y);
getch();
}
int space(char ch)
{
int i,x;
char a[100];
scanf("%d",&x);
for(i=0;i<x;i++)
a[i]=' ';
a[i]='\0';
return a;
}

printf("%d%c%d",x,space(''),y); 这句有问题啊 !!! 你仔细的看看 你哪里吗?

space('')有输入,你把这个方法写个返回值,不然什么也得不到.