自增自减运算

来源:3-3 自增与自减运算符

一宿

2018-01-22 17:26

#include

int main() {    int x = 0;    printf("x=%d\n",++x);    printf("x=%d\n",x++);    return 0; } 为什么最后第一个就等于0,第二个就等于2
写回答 关注

4回答

  • 慕设计5446271
    2018-01-22 17:56:33
    已采纳

    第一个:因为是++x,先取值,后运算。先打印x,再运算x+1;即先打印0,再运行0+1赋值给x

    第二个:由于第一个运行后x值1,x++先运算,后取值。先运算x=x+1,即运行1+1后赋值给x,再打印赋值结果2

    一宿

    但是第一个不应该是1吗

    2018-01-22 18:09:27

    共 2 条回复 >

  • 慕慕8322428
    2018-01-25 12:03:47

    最佳答案出++a,不是先运算,后取值吗??为什么最佳答案出不一样呢


  • 功夫熊猫
    2018-01-22 18:00:00

    x是变量。

    ++x是取出x值,增1,然后再参与表达式的计算。

    x++是先取x值参与运算,表达试结束后,x再增1。


  • 眼中那份执着
    2018-01-22 17:58:11

    ++x先加一在输出;x++先赋值再加一

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题