作业帮 > 综合 > 作业

6.执行下面程序段后,y的结果是________.int x,y; x=y=2; x=x-2&&(y=y+1); pri

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/07 15:27:00
6.执行下面程序段后,y的结果是________.int x,y; x=y=2; x=x-2&&(y=y+1); printf("%d",y); A.3 B.2
请说明原因
x=x-2&&(y=y+1); 首先要明白运算的优先级x=x-2&&(y=y+1),单目运算符-比逻辑运算符&&要高,所以先运行x-2等于0,那么就是假了,&&是与,根据逻辑运算表有一部分为假则全部为假,后半部分(y=y+1)就不会继续运行了,那么输出的y自然而然为2,希望你多看看运算优先级的知识,大致的顺序为单目最高,接下来是双目运算,下来是位移运算,下来是关系运算,下来是位运算,再是逻辑运算,最后是三目运算和顺序运算.
竭诚为您服务,加油兄弟!