C++中的请问这个自增怎么理解? 例如: a=5,b=5,c,d; c=a++-3; d=++a
C++中的请问这个自增怎么理解?例如:a=5,b=5,c,d;c=a++-3;d=++a-3;输出c和d,为什么两者不等呢?我理解的是,这式子无论先运算再加还是先加再运算...
C++中的请问这个自增怎么理解?
例如:
a=5,b=5,c,d;
c=a++-3;
d=++a-3;
输出c和d,为什么两者不等呢?
我理解的是,这式子无论先运算再加还是先加再运算,结果不应该一样的吗? 展开
例如:
a=5,b=5,c,d;
c=a++-3;
d=++a-3;
输出c和d,为什么两者不等呢?
我理解的是,这式子无论先运算再加还是先加再运算,结果不应该一样的吗? 展开
5个回答
展开全部
额.
1. c=(a=5)-3,然后a+1;(此时a=6)
2.d=(a+1=7)-3,
能一样么。。
1. c=(a=5)-3,然后a+1;(此时a=6)
2.d=(a+1=7)-3,
能一样么。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++在前先自增再运算,++在后先运算在自增
所以:c=a++-3;-->c=5-3=2//a再++,a=6;
d=++a-3;-->c=7-3=4;//a先自增后为7
所以:c=a++-3;-->c=5-3=2//a再++,a=6;
d=++a-3;-->c=7-3=4;//a先自增后为7
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-02
展开全部
++i是先i自加1,然后在使用i的值 i++是先用i的值,在i自加1 比如 #include <stdio.h> main() { int i,j,a,b; i=0; j=0; a=i++; b=++j; printf("a=%d,b=%d",a,b); getch()(); } a为0,因为i先赋值给a,然后自加1 b为1,因为j先自己1,在赋值给b i和j都为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++是先用i进行运算,再对i加1,++i是先对i加1,在用加1后的值进行运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询