我收到以下错误: 格式“%d”需要“int”类型的参数,但参数 2 的类型为“int *” 我不知道为什么它需要一个 int *,有人可以向我解释一下吗?
#include <stdio.h>
int main(void)
{
int wisselgeld = 70;
int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
a = wisselgeld / 200;
b = (wisselgeld - (a * 200)) / 100;
c = (wisselgeld - (a * 200) - (b * 100)) / 50;
d = (wisselgeld - (a * 200) - (b * 100) - (c * 50)) / 20;
e = (wisselgeld - (a * 200) - (b * 100) - (c * 50) - (d * 20)) / 10;
f = (wisselgeld - (a * 200) - (b * 100) - (c * 50) - (d * 20) - (e * 10)) / 5;
printf("%d\n"
"%d\n"
"%d\n"
"%d\n"
"%d\n"
"%d\n", &a, &b, &c, &d, &e, &f);
return 0;
}
最佳答案
&variable
是内存地址。当需要 int
时,您正在使用 int
指针 (int *
)。要将 int
作为参数传递,只需使用变量名称,例如 a
而不是 &a
。
关于c - 我不知道为什么它不起作用,格式 %d 需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38597771/