b = ++a * --a的问题
来源:百度知道 编辑:UC知道 时间:2024/05/06 01:06:47
int a = 5,b;
b = ++a * --a;
printf("%d",b);
运行后b=25 这个结果我没想到
我试了几次
如果int a=5,b=9,c;
c=++a * --b;
c=48
那么具体是怎么个运算顺序呢~
如果说前面的++没有运算,后面为什么会又有5呢?
怎么感觉前后矛盾的情况下才能够得出25的结果
请教~
b = ++a * --a;
printf("%d",b);
运行后b=25 这个结果我没想到
我试了几次
如果int a=5,b=9,c;
c=++a * --b;
c=48
那么具体是怎么个运算顺序呢~
如果说前面的++没有运算,后面为什么会又有5呢?
怎么感觉前后矛盾的情况下才能够得出25的结果
请教~
b=++a*--a ,先是a自增变成6,然后又要自减a又变成了5,所以b=5*5=25了
而int a=5,b=9,c;
c=++a * --b; //a 自增变成了6,b自减变成了8
c=6*8=48
b=++a*--a;这句相当于这三句:a=a+1;a=a-1;b=a*a;当a是5时,则a=5+1=6;a=6-1=5;b=5*5=25了。
同样c=++a * --b; 也就相当于:a=a+1;b=b-1;c=a*b;就是a=6;b=8;c=6*8=48了。
这样明白了吧
已知(a+b)(a+b)=4,(a-b)(a-b)=6问a*a+b*b和a*b的值
A:B=1:5,问B:A=?
集合A={a,b,c,d}问集合A的子集有几个
a*b*x*x-(a*a*a*a+b*b*b*b)*x+a*a*a*b*b*b=0的解(a*b不等于0,a和b是常数
a*b=48 a/b=12 问a=? b=?
a+b=13 a*b=36问a=?b=?
4a∧2+b∧2+5=4(b-a)问|b-a|=?
A>B,A*B/(A+B)=169,A+B是某数的平方,求A,B
已知a+2b=0,求a*a*a+2ab+(a+b+4*b*b*b的值
ab×c=a×bc,a、b、c都是1—9之间的自然数,并且a≠b≠c,问a、b、c分别为几?