[英]How do I get My Code to print out Binary Properly?
我需要使用链接列表和堆栈将十进制更改为二进制,但是无论我输入什么,我都会在打印语句中返回“ 1”。 有人可以帮帮我吗? 我还有其他所有需要的功能,但我只能得到1
51 int tobin(int n)
52 {
53 int num;
54 while( n != 0)
55 {
56 if(!isEmpty)
57 {
58 push(n % 2);
59 n = n / 2;
60 }
61 else
62 {
63 num = pop();
64 }
65 printf("%d");
66 }
67 return num;
68 }
69 int main()
70 {
71 int num;
72 int bin;
73
74 printf("Enter an integer: ");
75 scanf("%d", &num);
76
77 tobin(bin);
78 printf("Binary: %d\n");
79
80 return 0;
81 }
您需要保存从tobin
返回的值,然后将该值传递给printf
。
int main()
{
int num;
int bin;
printf("Enter an integer: ");
scanf("%d", &num);
bin = tobin(num);
printf("Binary: %d\n", bin);
return 0;
}
tobin
方法将无法正确处理数字0
转换。 没有看到其余的代码,我猜想tobin
也不会转换负数。 您应该检查传递给tobin
的参数n
的值,以确保它是代码可以处理的有效数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.