【发布时间】:2015-09-13 08:12:27
【问题描述】:
#include <stdio.h>
int main()
{
int i = 5;
int* u = &i;
printf("%d\n", *(u + 0));
for(i = 0; i < 10; i++)
printf("%d\n", *u);
}
输出是:
5
0
1
2
3
4
5
6
7
8
9
但我认为它应该打印5 11 次。
【问题讨论】:
-
i的值在此处更改for(i=0;i<10;i++) -
u指向i,而i是您的循环变量,因此您只需在循环中打印i的每个连续值。 -
@FelixPalmen 不,应该关闭这个问题。
-
@FelixPalmen 绝对是; Stack Overflow 不是语言教程网站。预计不会在这里教授基本的语言功能(有谷歌,还有那些收取昂贵学费的大学!)。这个问题也很适合几个默认关闭原因;例如,“问题无法重现”(顺便说一句,我选择了它)。由于没有问题或意外行为,因此无需重现或询问。
-
@FelixPalmen 事实上,大约 80% 的关于 SO 的问题可能很容易通过 RTFM 或仅通过应用常识来回答,实际上应该在 IMO 中关闭。