我是一个新的学生在c语言,我只是想出了这个。我的代码:尝试打印一个&a_variable
#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的内存地址?
- 为什么每次运行程序我都会得到不同的输出结果?
谢谢!
这个问题基本上是“什么是指针”,并首先为我说现在我学习c它在每一个教程和C. – us2012
每一个大学课程回答。其次,我在本书的第一章,我不知道什么是指针。我只是把&因为我在函数scanf(“%d”,&变量)中看到它;我也说过在printf中尝试它。 – yaylitzis