C语言菜鸟问题如下#include "stdio.h"void main(){ int d=5,p=3;\x05d+=+

学习 时间:2026-04-08 23:36:05 阅读:22
C语言菜鸟问题如下#include "stdio.h"void main(){ int d=5,p=3;\x05d+=++p+(++p);\x05printf("%d",d);}为什么输出15?而不是4+5+5=14如果改为d+=p+++p++;则等于11(5+3+3)

最佳回答

动听的板栗

迷路的裙子

2026-04-08 23:36:05

++ 这个操作符你没有理解,++如果放在变量的前面就是前加,而前加操作,是在运算式运行之前执行的,也就是说d+=++p+(++p)两个++p 都在这个运算表达式之前就执行了,那么在执行这个运算式之前p就已经被++过两次了,所以在运行运算式之前P的值就是5了。所以结果是15p+++p++ 这个是后加,即表达式结束之后再做++操作,结果自然是11

最新回答共有2条回答

  • 老迟到的帅哥
    回复
    2026-04-08 23:36:05

    ++ 这个操作符你没有理解,++如果放在变量的前面就是前加,而前加操作,是在运算式运行之前执行的,也就是说d+=++p+(++p)两个++p 都在这个运算表达式之前就执行了,那么在执行这个运算式之前p就已经被++过两次了,所以在运行运算式之前P的值就是5了。所以结果是15p+++p++ 这个是后加,即表达式结束之后再做++操作,结果自然是11

上一篇 Linda liked to ski better than swim==Linda ---- ---- to swim

下一篇 成语什么朝什么日