程序如下:
#include<stdio.h>
int main()
{
int a[7]={1,2,3,4};
printf("%d%d%d%d%d",(*a),*(&*a),a[*a*0],*a);
return 0;
}
codepad.org 上的输出如下:11110
ideone.com 上的输出如下: 1111-1074526944 其中 -1074526944 每次执行都保持变化
我在我个人的 gcc 上执行它的输出是:11110我没有最新的 gcc
在printf();
声明中,我不关心前四个%d
,因为它非常明显。这是我关心的第五个。 %d
为什么会给出这样的输出?