gpt4 book ai didi

c - 格式 ‘%d’ 需要类型为 ‘int’ 的参数,但参数 2 的类型为 ‘int *’

转载 作者:太空狗 更新时间:2023-10-29 15:11:28 25 4
gpt4 key购买 nike

每次我在 hackerrank 上提交程序时,都会出现以下错误。

solution.c: In function ‘main’:
solution.c:22:14: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘int *’ [-Wformat=]
printf("%d", &sum);

如果有人能告诉我这是什么意思,会很有帮助吗?

最佳答案

我假设您已将 sum 声明为 int。所以对 printf 的正确调用是:

printf("%d", sum);

as %d 说明符意味着您将要打印一个 int,但您传递的是 int 的地址,即指向 intint * 的指针。


注意:不要将 printfscanf 混淆,因为第二个 确实需要一个指针。因此,要读取变量 sum,您可以使用:

scanf("%d", &sum);

但对于打印,正确的方法是不使用 &,如上所述。

关于c - 格式 ‘%d’ 需要类型为 ‘int’ 的参数,但参数 2 的类型为 ‘int *’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44196725/

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