搜索

...Main() { int a=1,b=2,c=3,d=0; if(a= =1 &&b++= =2) if(b!=2...

发布网友 发布时间:2024-10-24 04:58

我来回答

2个回答

热心网友 时间:2024-10-25 09:04

源程序:

#include <stdio.h>
main()
{ int a=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2 || c--!=3)
printf("%d,%d,%d\n",a,b,c);
else printf("%d,%d,%d\n",a,b,c);
else printf("%d,%d,%d\n",a,b,c);
}

输出: 1,3,3

【分析】
if(a==1&&b++==2) */ a==1 正确,b++==2,自增运算级在判断符前,又因为是b++而不是++b,所以判断时b为2,判断结果为正确,判断结束,b自增为3。进入下一个if /*

if(b!=2 || c--!=3) */ 此时b已经是3,所以b!=2,正确,由于是 ||(或),前面正确,就不用判断后面,所以进入 printf("%d,%d,%d\n",a,b,c);时,c依旧是3 /*

所以输出:1,3,3

热心网友 时间:2024-10-25 09:09

#include<stdio.h>
main()
{ int a=1,b=2,c=3,d=0;
if(a= =1 &&b++= =2)
if(b!=2 || c--!=3)
???
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top