【发布时间】:2015-11-19 23:34:00
【问题描述】:
我需要使用链接列表和堆栈将十进制更改为二进制,但无论我输入什么,我都会在我的打印语句中返回“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 }
【问题讨论】:
-
printf("%d");你需要告诉它要打印什么,而不仅仅是你想要一个数字(%d)- 与 main() 中的 printf 相同。 -
tobin(bin);-->tobin(num); -
printf("Binary: %d\n");打印什么? , 缺少一个 int 参数 -
tobin(bin);bin和num,是局部变量,它们之间的关系在哪里,bin没有设置 -
您的头像不合适。请改一下
标签: c struct linked-list binary stack