小弟求救
我有个程序看不懂:
main()
{
int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y+=*(p+x);
printf("%d\n",y);
}
中的“y+=*(p+x)"的x是什么意思,在里面起到什么作用
谢谢各位大哥了!!!!
我有个程序看不懂:
main()
{
int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y+=*(p+x);
printf("%d\n",y);
}
中的“y+=*(p+x)"的x是什么意思,在里面起到什么作用
谢谢各位大哥了!!!!
恩~我也认为是19
*P是一个指针
y+=*(p+x)的意思是:y=y+*(p+x) 其中 P+X 表达的意思是P指针所指向的地址的数值向后移动X位
如果不要指针,这个程序其实可以写为:
main()
{
int a[]={2,4,6,8,10};
int y=1,x;
for(x=0;x<3;x++)
y=y+a[1+x];
printf("%d\n",y);
}