以下不正确的if语句形式是()

以下不正确的if语句形式是()
A. if(a<b);
a=0,b++;
B. if(a==b)
a=0,
C. if(a<b)
a=b;
else
b=0;
D. if(a!=b)

这道题练习册答案是C。 但我就觉得C的形式没问题啊,反而对剩下三个都觉得有问题。
帮忙解释一下A中 a=0,b++; 的意思是一条语句执行两条操作?不用必须写成 a=0;b++; ?B中,a=0,不用分号结尾? D中,只有一个if 没有分号,这个选项本身什么意思,是说不管他后面有没有语句,只看他本身形式对不对?

对a=0,b++;的意思是看成一条语句,2个操作
比如
if(a>1) a=0,b++;
等价如下:
if(a>1)
{
a=0;
b++;
}
如果是:
if(a>1) a=0; b++;
那么等价如下:
if(a>1)
{
a=0;
}
b++;
A中虽然后面部分是正确的,但是if(a<b);这么快就分号了,语法就不正确嘛
B中,应该是分号结束,但是它这样写也没表示它错啊,同上面的问题,是不是后面还有代码没写出来?还是多想了?确实多想了,这个选项是错的。
D中,只是一个没写完的语句,能够判断它是错的吗?不要多想就是错的
最后解释:
这道题的题目就写错了,应该是以下正确的if语句形式是()
希望采纳谢谢
温馨提示:答案为网友推荐,仅供参考
相似回答