C语言问题?

2025-04-23 11:24:48
推荐回答(3个)
回答1:

答案是B。

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

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

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

回答2:

#include

main()

{

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

*p++;

*p+=1;

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

}

回答3:

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