求用C语言编写逻辑表达式的值,例如a++,--b以及a+--c+b,求他们的结果!!!

该表达式只含“++”,“--”,“+”,"-"运算符,且表达式长度不会超过100

a++ 表示a=a+1
++a也表示a=a+1
但是两个表达式的计算顺序不一样

int a=0;
int b=1;
b=a++
此时输入出a和b结果为
a=1
b=0
即表达式先计算b=a=0
再计算a=a+1=1
再如
int a=0;
int b=1;
b=++a;
此时输入结果是
a=1;
b=1;
即表达式先计算了a=a+1=1;
再计算了b=a=1;

同理b--和--b
也是一样
只是计算的先后顺序一比样(也柯以说优先级不一样)
++a;或--b 优先级在计算机运算符里是最高的
所以你的表达式结果如下
int a=0;
int c=5;
int b=2;
a=a+--c+b;
输出的结果是 a=6;
即表达式先算
--c 再算了表达式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-11
前缀 先自加 后使用
后缀 先使用 后自加
a++; 使用时a还是a,使用之后,a的值就+1了;
--b; 在使用b之前,b的值就+1了;
求混合运算时,会因为编译器的不同而产生不同的结果。
第2个回答  2011-12-11
a++ :a=a+1,先赋值再加1,用于循环语句。
--b :b=b-1,先-1后再赋值,用于循环语句。
第3个回答  2011-12-11
main()
{
a=1,b=2,c;
c=++a-(--b)+a++-(a--);
printf("%d,%d,%d"a,b,c)
}
第4个回答  2011-12-11
#include "stdio.h"
int main()
{
int a=1,b=2,c=3;
a=a++;
b=b--;
c=a+--c+b;
printf("a++=:%d\n",a);
printf("b--=:%d\n",b);
printf("a+--c+b=:%d",c);
return 0;
}
结果:
a++=:2
b--=:1
a+--c+b=:5

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网