c语言中 *p++的运算顺序和printf输出表列的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:15:20
问题是自己编的,如果问题本身都有问题,也请改正,不然就选择一下答案,做好能自己说明下过程,答的好的话追加100分
int a=2,*p=&a;
printf("%d",*p++);
问这个运算过程的执行顺序? 首先p++ (选择)
(A)在printf函数中 执行p=p+1暂存储 ,输出结果*p
(B)在printf函数中 得结果*p printf函数结束 后执行p=p+1
(C)在printf函数中 得结果*p 后执行p=p+1 printf函数结束

第二个问题
像printf(“%d”,a=a+1) 输出表列不是单一个变量a,而是a=a+1等乱七八糟的东西,输出的结果是根据什么判断的啊?

输出结果是 2
先得结果 *P,就是2
然后在P++ P指针指向下一个地址.
printf结束.

问题2
后面如果a=a+1的话,就是输出a+1的值.
你后面的表达式是什么 把a赋值按表达式写的算,把表达式的结果输出..

嘿嘿~不知道有没有回答你的问题

ui