作业帮 > 综合 > 作业

int x=1,y=1,i=0;则下列选项错误的是()a if(xy)i--,b if(x||y)i++,c(x+y)i

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 03:27:13
int x=1,y=1,i=0;则下列选项错误的是()a if(xy)i--,b if(x||y)i++,c(x+y)i++,d if(x=y)i--
a有语法错误,xy是另外一个变量了
d语法编译能通过但一般不推荐这么干.
选a
再问: 麻烦你在解读一下,为什么X与Y相乘成了另一个变量,而X+Y却没有呢?
再答: 相乘的话要 x * y,而不是xy,如果事先没有定义xy,编译器不认识这个变量的。换句话说,if(x*y)是合法的,但if(xy)是不合法的,除非你事先定义了int xy =0; x+y的结果是2,C语言规范中认为非0的都是“真”,所以if(x+y)这样是合法的。