w=a==b 考虑优先级,算术运算高于逻輯运算算术运算会统一数据类型,int w强制转换为double型而浮点不能用==做逻辑判断。故而d不对
-
当执行第3次循环时i=3,在循环开始
-
显然条件成立向下进行循环体 (这里为空操作);
-
判断i++<4,即此时的i值4是否小于4
-
之后i自增(不管是否小于)得到,i=5
-
结果条件不成立直接跳出循环
你對这个回答的评价是?
语法上讲,没有什么问题,只不过一般对于浮点数判等,不直接使用==来判等,而是使用fabs(a-b)<1e-6之类形式
表达式i++<4,只有当子表达式i++的值臸少为4时,才会结束循环,而自增运算符后缀,导致的是表达式的值为变量i的原值,且i会自增一
所以结束循环后i值为5
你对这个回答的评价是
因为判断i++<4时,用的是i的值在执行了for循环之后i才+1
你对这个回答的评价是?
双==是判断语句不是赋值语句
你对这个回答的评价是?