C语言的程序片段:
p =0;
printf("%d\n%d\n", p, p+1);
结果会是什么呢?
0
?
呵呵,上当了吧,此题是无解的,因为我没说p是什么东西。下面我告诉你p是什么:
int (*p)[1024];
p =0;
printf("%d\n%d\n", p, p+1);
p =0;
printf("%d\n%d\n", p, p+1);
结果是:
0
4096
这个结果对么?
不一定。还得看它的运行平台。上面的结果是32位Intel平台的,64位的呢?单片机呢?DSP呢?
欢迎有条件的朋友试一试。
最后来个完整的:
#include <stdio.h>
int main()
{
int (*p)[1024];
p =0;
printf("%d\n%d\n", p, p+1);
printf("%d\n%d\n", (int)p, (int)p+1);
printf("%d\n%d\n", (int)p, (int)(p+1));
return0;
}
int main()
{
int (*p)[1024];
p =0;
printf("%d\n%d\n", p, p+1);
printf("%d\n%d\n", (int)p, (int)p+1);
printf("%d\n%d\n", (int)p, (int)(p+1));
return0;
}
结果是:
0
4096
0
1
0
4096
C语言的程序片段:
p = 0;
printf("%d\n%d\n", p, p+1);
结果会是什么呢?
浙公网安备 33010602011771号