有以下程序#include<stdio.h> Main() { int a=1,b=2,c=3,d=0; if(a= =1 &&b++= =2) if(b!=2 || c--!=
2个回答
展开全部
源程序:
#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
#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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询