for( p=a; p<p+5; p++ )
printf("%d
", *p);
这个是一个死循环(p<p+5恒成立),没循环一次都会输出一个值,当p指向a[4]的下一位以后,输出的是随机值。
按我的理解,程序是不会执行下面语句的:p = a; printf("\n%d\n", *(p+5));
可是系统确输出一个值-20。
for( p=a; p<p+5; p++ )//这里p<P+5改为p<a+5;printf("%d
", *p); 这个输出数组a的每一个元素。
p = a; printf("\n%d\n", *(p+5));
这里的p=a表示p=&a[0],(p+5)指向的是a[4]的下一位,是一个不确定的值,系统随机生成。