我是 c 语言的新学生,我只是想出了这个。我编码:
#include <stdio.h>
main()
{
int i=100;
printf("Helloo is: %d\n", i);
}
输出是:Helloo is: 100
直到这里都很棒!如果我将代码更改为此
#include <stdio.h>
main()
{
int i=100;
printf("Helloo is: %d\n", &i); // the &i is the change
}
当我编译它时,我收到一个警告:warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘int *’ [-Wformat].
好的,我收到了编译器的消息,但我很好奇,所以无论如何我运行程序并得到这个输出:Helloo is: -1078455636
如果我再次运行程序,我会得到不同的输出!所以:
- 所有这些数字是什么?变量 i 的内存地址?
- 为什么每次我运行程序我都会得到不同的输出?
谢谢!