C语言问题?

如题所述

答案是B。

1,因为,*p++先执行*p,就是取出a[0]的值而已,就是10,没有实际用。可以写成p++;

2,再执行p++ ,这是p指向a[1]的地址。

3,*p  +=1, 就是指a[1]的值加1,即11+1=12。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-05-25

#include<stdio.h>

main()

{

int a[]={10,11,12},*p=&a[0];

*p++;

*p+=1;

printf("%d,%d,%d",a[0],a[1],a[2]);

}

第2个回答  2022-05-25
*p++P先指向a[0]的值,然后p指针加1,指向下一个数.执行完后,p指向a[1].
*p+=1;p指向的变量加1后再赋给该变量.执行完后a[1]变为12.
所以最后数组值为10,12,12.
相似回答