printf() 正在打印错误的值
printf() is printing the wrong value
这是我的完整代码,每次我都打印随机负值 运行 它不确定哪里出了问题。
使用 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.
这是我的完整代码,每次我都打印随机负值 运行 它不确定哪里出了问题。 使用 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.