A-A+
设有int a[]={10 11 12} *p=&a[0]; 则执行完*p++;*p+=1;
问题详情
设有int a[]={10,11,12},*p=&a[0];,则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是()
A.10,11,12
B.11,12,12
C.10,12,12
D.11,11,12
参考答案
正确答案:C
C [解析]"++"和"*"具有相同的优先级别,运算时都是采用自右向左结合运算的方式。"*p++"在运算时先运算"*p"再运算"p++"。在运算"*p+=1"时,P已做过一次自加1运算,而"*"运算的优先于"+-"运算;故"*p+=1"等同于a[2]+=1。