繁体   English   中英

如何获取我的代码以正确打印二进制文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM