答案是B。
1,因为,*p++先执行*p,就是取出a[0]的值而已,就是10,没有实际用。可以写成p++;
2,再执行p++ ,这是p指向a[1]的地址。
3,*p +=1, 就是指a[1]的值加1,即11+1=12。
#include
main()
{
int a[]={10,11,12},*p=&a[0];
*p++;
*p+=1;
printf("%d,%d,%d",a[0],a[1],a[2]);
}
*p++P先指向a[0]的值,然后p指针加1,指向下一个数.执行完后,p指向a[1].
*p+=1;p指向的变量加1后再赋给该变量.执行完后a[1]变为12.
所以最后数组值为10,12,12.