当前位置: 代码迷 >> C语言 >> 看看那里错了!!!
  详细解决方案

看看那里错了!!!

热度:155   发布时间:2005-10-20 10:49:00.0
看看那里错了!!!

编写一个程序,采用递归方法将用户输入的整数转换成字符串.

#include "stdio.h" #include "conio.h" int zi (int n[]) { if(n!='\0') ; else n=zi(n+1); printf("%c",n); } void main() { int a[5]; int i; printf("shu ru:");

for (i=0;i<5;i++) scanf("%d",a); zi(a); getch(); }


----------------解决方案--------------------------------------------------------
看看那里错了!!!

编写一个程序,采用递归方法将用户输入的整数转换成字符串.

#include "stdio.h" #include "conio.h" int zi (int n[]) { if(n!='\0') ; else n=zi(n+1); printf("%c",n); } void main() { int a[5]; int i; printf("shu ru:");

for (i=0;i<5;i++) scanf("%d",a); zi(a); getch(); }


----------------解决方案--------------------------------------------------------
我怎么看不出来呢 ??
----------------解决方案--------------------------------------------------------
我怎么看不出来呢 ??
----------------解决方案--------------------------------------------------------
int zi (int n[])
从这函数的定义看,你的函数返回值是int型,但是你的函数中并没有返回数值的语句。
而你的int n[]只是函数的参数,并不是返回值。所以你的n=zi(n+1);赋值就是错误的。相当于把一个并不存在的int型值赋给了一个int数组。明显是错的
----------------解决方案--------------------------------------------------------
第二行看不懂
----------------解决方案--------------------------------------------------------
#include "conio.h"是包含getch()和putch()的头文件,但是这程序中的getch();做什么用我也不清楚
----------------解决方案--------------------------------------------------------
那个scanf("%d",a);是不是应改成scanf("%d",a=(a+i));
还有请问下那个函数zi是什么作用   能否详细告诉我这个菜鸟
----------------解决方案--------------------------------------------------------
#include&lt;stdio.h&gt;
void convert(int n)
{
int i;
if((i=n/10)!=0)
convert(i);
putchar(n%10+'0');
}
void main()
{
int number;
printf("Input an integer:");
scanf("%d",&amp;number);
printf("Output string is:");
if(number&lt;0)
{
  putchar('-');
  number=-number;
}
convert(number);
printf("\n");
}
----------------解决方案--------------------------------------------------------
以下是引用谢中威在2005-10-21 15:54:43的发言: 那个scanf("%d",a);是不是应改成scanf("%d",a=(a+i)); 还有请问下那个函数zi是什么作用 能否详细告诉我这个菜鸟
先好好看看c语言的书,起码把基础知识了解了再来提问吧 scanf('%d",&a)表示把从屏幕得到的数放到变量a的地址中,也就是赋值给a,不加地址符是一定会出错,至于你的scanf("%d",a=(a+i));,真是让我想哭。
----------------解决方案--------------------------------------------------------
  相关解决方案