递归十进制转二进制
有大佬帮忙看看代码吗,为什么我的打印不出来呢#include<stdio.h>void binary(int n);
void binary(int n)
{
if(n/2 == 0)
{
printf("%d\n",n);
}
else
{
binary(n/2);
printf("%d\n",n % 2);
}
}
int main()
{
int n;
printf("请输入一个整数:");
scanf("%d\n",&n);
binary(n);
return 0;
} 我这里运行没问题啊
只是有点小毛病,不是语法或逻辑错误
第23行,scanf不应该出现 '\n',或许你的编译器认为这个需要你再输入一个回车字符,所以一直等待你输入吧。
还有,第8行和第13行的'\n'应该去掉,那样才是把转换后的二进制打印在一起了。 sunrise085 发表于 2020-5-25 21:19
我这里运行没问题啊
只是有点小毛病,不是语法或逻辑错误
第23行,scanf不应该出现 '\n',或许你的编译器 ...
完美{:5_109:} sunrise085 发表于 2020-5-25 21:19
我这里运行没问题啊
只是有点小毛病,不是语法或逻辑错误
第23行,scanf不应该出现 '\n',或许你的编译器 ...
完美,谢谢大佬,原来是这个错误{:10_257:} #include<stdio.h>
void fun(int n)
{
if(n/2)
fun(n/2);
printf("%d\n",n%2);
}
int main()
{ int n;
void fun(int n);
printf("请输入一个整数:");
scanf("%d",&n);
fun(n);
return 0;
}
给你看一个改进版 Jackeyloveme 发表于 2020-5-25 22:39
#include
void fun(int n)
{
明白你的代了,不过我感觉我的更容易理解
页:
[1]