C语言问题,求大神解决,我是小白,最好解释下原因,谢谢拉。

2024-11-22 09:23:58
推荐回答(4个)
回答1:

if (a=b)x++; //合法,但是逻辑错误
if (a= if (a-b) x++;//合法,当a-b不等于0时为真
if (a<=b<=c) x++;//合法,但是逻辑有误
if(1) x++; //合法,死循环

回答2:

第一个是赋值,是在判断b的值,不是判断a,b是否相等,理论上是可以的;第二个是数学表达式,c不是这样表达的;第三,四,五个理论上是可以的。第五个是永真。原来答案是D,那是因为出题的人,心里假设了某个前提,没有写出来,所以他的心里认为D是对的。

回答3:

答案是D
第1、3、4、5句是可以算合法的,其中第一句就是我们经常所说的判等写成了赋值,虽然于程序逻辑而言有问题,但确实是合法语句。

回答4:

因为有四条是合法的啊,if (a-b) x++; 这一句是错的,因为括号里面需要的是一个判断性的语句,而不是一个算式