#include <stdio.h>
void fun(int x)
{
if(x<=20)
{
printf("d\n",x);
return fun(2*x);
return fun(x/2);
}
}
main()
{
int x;
printf("Enter the number\n");
scanf("%d",x);
fun(x);
}
答案 0 :(得分:3)
那应该是scanf("%d", &x);
,可能是printf("%d\n", x);
。
此外,您正在从void
函数返回一些内容(两次!)。您的代码将无法正常工作。
答案 1 :(得分:1)
在函数中,如果你打算打印x的值,它应该是printf(“%d \ n”,x); 你缺少%symbol.also你的函数中的第二个return语句永远不会被执行..
答案 2 :(得分:0)
除了其他人所说的,在你修复所有其他程序错误之后,你正在指导你的程序进行无限递归。
答案 3 :(得分:0)
#include <stdio.h>
void fun(int x)
{
if(x<=20000)
{
printf("%d\n",x);
fun(x<<1);
printf("%d\n",x);
}
}
main()
{
int x;
printf("Enter the number\n");
scanf("%d",&x);
printf("\n");
fun(x);
system("pause");
}
这是正确的程序,我一直在寻找。谢谢大家!