gpt4 book ai didi

c - 如何让我的代码正确打印二进制?

转载 作者:行者123 更新时间:2023-11-30 15:14:56 25 4
gpt4 key购买 nike

我需要使用链接列表和堆栈将十进制更改为二进制,但无论我输入什么,我都会在打印语句中返回“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 的值,以确保它是您的代码可以处理的有效数字。

关于c - 如何让我的代码正确打印二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33816344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com