对于下面代码段
int x = 3, y = 3; int t = ++x || ++y;
y的值为( )
A. 不确定 B. 4 C. 3 D. 1
单撇号里面可以是数字、字母等C语言字符集中除’和\以外所有可现实的单个字符,但是数字被定义为字符之后则不能参与数值运算。
这道题,还考察了或运算符是从左往右进行,例如 a || b || c || d, 如果a为真,那么就会直接停止,因为整个表达式为真;如果a为假,则会继续进行,直到碰到真,或者全部为假。
为什么不是4
LEK 回复 浮生: 前面为真了 一个满足后面就不执行
八千 回复 LEK: ++x不是4吗
懒羊羊 回复 浮生: 题目问的是y的值,前面满足了条件之后,后面的条件不执行,所以y的值不变为3
C
当解析器遇到了||时,只...
用户登录可进行刷题及查看答案
当解析器遇到了||时,只要前面的++x为真,后面的语句就不执行了
登录后提交答案