C语言里赋值或条件判断语句中,如何判断,从左边看还是从右边看语句是正确的?(有时候如a=3+3/2,那么a=3)
已知x, y均为double类型,x=1,y=x+3/2,y=2.0 这又怎么理解啊?
追答先给x赋值为1,然后将x+3/2的值赋值给y,然后再给y赋值为2.0
上面代码执行完之后,x的值为1,y的值为2.注意第二次对y的赋值会覆盖掉第一次的赋值,
第二次是求出的结果,不是赋值。。。
追答没明白你的话的意思
你按c语言的语法格式把你的那句话写一遍 我看看
第十二题
追答答案是2.0,你要明白无论在哪里,3/2的结果永远都为1,因为3是一个整形数,2也是一个整形数,两个整形数相除结果肯定是整形数。先计算除法,然后才进行加法,进行除法的时候是两个整形数相除,结果为1,接下来进行加法,进行加法的时候由于x是double型的,而c语言当两个不同类型的数同时参与运算时低精度会自动向高精度转化,所以后面的1也会自动默认转换为double型,所以相加就是2.0.
追问第九题
追答先计算赋值号右边的表达式,算出来k+k%5 = 7+2 = 9;然后计算x % = 9; 算出来x = x%9 = 12 %9 = 3.
追问谢谢~
那赋值一般都是从右往左计算,再赋值?
懂了
if (a=b<0)是从右边开始判断的
追答这个就要看运算符的优先级来判断