c - printf() 正在打印错误的值

标签 c printf arithmetic-expressions

这是我的完整代码,每次运行时它都会打印随机负值,我不确定哪里出了问题。 使用 Ubuntu 运行和“gcc -Wall -Wextra test.c”

#include <stdio.h>
int main () {

unsigned int x = 10;
unsigned int y = 16;
unsigned int p = x + y;

printf("%d\n", &p);

return 0;
}

最佳答案

您正在传递 p 的地址。您需要传递该值。

printf("%d\n", p);

如您所见,您的代码正在打印 p 的地址,无论它是什么。

此外,由于您正在使用 unsigned int,您可能希望使用 %u 格式化程序代替 %d。 p>

关于c - printf() 正在打印错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58367506/

相关文章:

C wait() 确实有效

c - 如何从 time_t 中提取小时数?

C - 将十六进制转换为字符串

c - 如何求 2 到 N 之间的数的最大约数之和?

c++ - 当二元运算符两边的符号不同时,提升规则如何工作?

bash - 在 bash 中四舍五入到最接近的 2 的幂

c - 段错误,c 程序

c - 在 C 中声明一个数组而不给出大小

c - 终端中的 printf c 问题

c - 这个 printf 技巧是如何工作的