有一道C语言题目我比较疑惑,希望大家给予详细讲解,如果理由充分的话我一定会加分的,谢谢大家!题目在下
以下if语句不正确的是()A:if(x>y&&x!=y)B:if(x=4)x+=y;C:if(x!=y)D:if(0){x++;y++}查询答案它说是C,理由是if后面没...
以下if语句不正确的是()
A:if(x>y && x!=y) B:if(x=4) x+=y;
C:if(x!=y) D:if(0){x++;y++}
查询答案它说是C,理由是if后面没有了表达式,但是那么A又为什么是对的呢?有点疑惑 展开
A:if(x>y && x!=y) B:if(x=4) x+=y;
C:if(x!=y) D:if(0){x++;y++}
查询答案它说是C,理由是if后面没有了表达式,但是那么A又为什么是对的呢?有点疑惑 展开
展开全部
A:既然x>y那么x必定不等于y,虽然编译上可以pass但是在程序设计上是错误的,比如你要是还要跟一个else语句,那么就得不到你要的结果。
-
B:这个表达式完全没有问题,它是先把4赋值给x,此时圆括号中表达式的的值是4,if语句判断为true的条件是圆括号中的表达式非0,也就是说满足条件,然后对x进行加y操作.
-
C:系统不知道你是不是要用下一句作为满足if条件的执行语句比如说:
if(x!=y)
x=3;
y=x+1;
那么系统会自动将x=3作为if判断的执行语句,如果有:
if(x!=y)
else y=3;
这样编译的时候就会报错,因为它默认else语句是if判断的执行语句,也就是:
if(x!=y) {
else y=3;
}
else前面没有if判断,编译器报错。
所以在对待不用执行语句的判断时,后面一定要跟花括号。
if(x!=y) {}
这样写才正确,所以不正确的是选项C.
-
D:if圆括号内字符常量的值为0,也就是为假,则不执行后面花括号内的语句,
此选项没有任何问题。
-
B:这个表达式完全没有问题,它是先把4赋值给x,此时圆括号中表达式的的值是4,if语句判断为true的条件是圆括号中的表达式非0,也就是说满足条件,然后对x进行加y操作.
-
C:系统不知道你是不是要用下一句作为满足if条件的执行语句比如说:
if(x!=y)
x=3;
y=x+1;
那么系统会自动将x=3作为if判断的执行语句,如果有:
if(x!=y)
else y=3;
这样编译的时候就会报错,因为它默认else语句是if判断的执行语句,也就是:
if(x!=y) {
else y=3;
}
else前面没有if判断,编译器报错。
所以在对待不用执行语句的判断时,后面一定要跟花括号。
if(x!=y) {}
这样写才正确,所以不正确的是选项C.
-
D:if圆括号内字符常量的值为0,也就是为假,则不执行后面花括号内的语句,
此选项没有任何问题。
展开全部
A后面也没有表达式。可能选项出问题了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
支持三楼,B是错的,正确的判断应该是if(x==4)而不是if(x=4)
x=4是赋值语句,这里误用以后if语句总是真.
C和A都没错,只是A有点多余,但A是没有错误的.
x=4是赋值语句,这里误用以后if语句总是真.
C和A都没错,只是A有点多余,但A是没有错误的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案很显然是错的。
A和C if语句都不完整。
对于A,里面相与的两个条件完全多余。因为x>y一定会x!=y。
B在语法上是没错的,编译也不会报错。但一般绝对不会这样写。因为if里面不是判断相等,而是赋值。相当于if(4)x+=y;
所以,我会选B
A和C if语句都不完整。
对于A,里面相与的两个条件完全多余。因为x>y一定会x!=y。
B在语法上是没错的,编译也不会报错。但一般绝对不会这样写。因为if里面不是判断相等,而是赋值。相当于if(4)x+=y;
所以,我会选B
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是A选项后面应该有个分号(;)吧,应该是打印错了吧。由于C语言每条句子都以分号结尾,if语句也不例外,如果if语句条件后面没有语句,如A和C就要打分号(;),如果后面有多条语句就要用{}括起来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B是对的 因为x=4赋值后括号内的表达式的最终值为4非0(即条件为真);
A和C是都是错的 理由是if后面没有了语句(不是表达式)即使后面实在没什么可写也要加一个;(表示空语句);
A和C是都是错的 理由是if后面没有了语句(不是表达式)即使后面实在没什么可写也要加一个;(表示空语句);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询