...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)
???