为了账号安全,请及时绑定邮箱和手机立即绑定

为什么调换x++和++x编码以后第一个printf输出是0?

#include

int main() {    int x = 0;    printf("x=%d\n",x++);    printf("x=%d\n",++x);    return 0; }为什么第一个printf结果是0?麻烦具体点,多谢

正在回答

2 回答

同学,给你举个例子看看能不能理解

int i = 0,j=0;

int a = i++;    int b = ++j;

输出a和b;(a应该为0,b为1

输出i和j;(i和j应该都为1)

这个例子可以看出,i++是先赋值后运算的,而++j是先自增后运算的

以后碰到这样的就这样算,

i++即后缀运算,赋值后在自增

++i即前缀运算,自增后在赋值

满意请采纳~thanks

4 回复 有任何疑惑可以回复我~

因为顺序:x++是先出后+1

++x是先+1后输出

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么调换x++和++x编码以后第一个printf输出是0?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信