简单的C语言计算问题
a=1,b=2;c=a<b++&&a; printf("a=%d,b=%d,c=%d\n",a,b,c); 结果是a=1 b=3 c=1 为什么? 我刚开始学习C语言,一点不懂,请详细一些,还有就是应该像看哪些方面的知识才能解决这样的问题
c=a
b++表示b=b+1;所以b成了3 而&&a就是a的值即1;所以b++&&a的值就是4;因此逻辑表达式a<4的值就是真(1)了,所以c被赋值为1; 也可以直观的表示成c=(a<(b++&&a))
答:c=a>b&&++a; 这一句中要注意各种运算符的优先级,自增运算符最高,比较运算符其次,逻辑与运算符最低。而在这里自增运算符位于左边,它表示b先执行加1的操作...详情>>