for循环遇到困难
#include<stdio.h>
main()
{
int a[]={9,8,7,6,7,8,9};
int n=10,k,*p;
p=a;
for(k=0;k<=4;k++)
if ((*(p+k))<n)
n=*(p+k);
printf("%d",n);
}
为什么输出的是6。。。我算出来是7啊
我把我的思路写出来。帮我看看我哪里错了啊
------------------------------------------------
第一次执行循环
当k=0时。。 *(p+k) = *(p+0) = (a的首地址) =9
9<10
所以执行下面的 n=*(p+k);
n = 9
接下来就是执行4次。。指针往后移4格 就是7的上面。。。为什么会是6啊
我用循环把5次全输出来,,,结果都是6
纳闷ing 。。高人指点。。。。