关于*++p
*++p是什么意思?
是先取p所指向的变量的值再把值加一,还是先把指针p加一移动以后再取值啊?
*++p是什么意思?
是先取p所指向的变量的值再把值加一,还是先把指针p加一移动以后再取值啊?
我又不行了,又得收费了。
[UseMoney=50]
忠告:程序是调试出来的。你现在首先得学会调试程序,光看书学理论是没用的,就如这个小问题,自己写个程序调试一下,再看看书不是很简单?
main() { int sun[10]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=sun;
for(i=0;i<10;i++) printf("sun[%d]=%d *++p=%d\n",i,sun[i],*++p);
p=sun;
for(i=0;i<10;i++) printf("sun[%d]=%d *p++=%d\n",i,sun[i],*p++); }
[/UseMoney]
*++p是什么意思?
是先取p所指向的变量的值再把值加一,还是先把指针p加一移动以后再取值啊?
呵呵,自己看看优先级和结合顺序不就知道了
指针和++优先级同级,结合顺序自右向左,应该是先自加,再进行指针运算
再补充一句,这样的东西没必要搞清楚,还是加上括号的好,自己代码写成这样没好处
[此贴子已经被作者于2004-08-12 15:33:57编辑过]