C语言 能详细解释一下这段代码的意思吗 特别是后面那段if语句 我看不懂?
#include<stdio.h>intmain(){inta,b,c,d; for(a=0;a<2;a++) for(b=0;b<2;b...
#include<stdio.h>
int main()
{ int a,b,c,d;
for(a=0; a<2; a++)
for(b=0; b<2; b++)
for(c=0; c<2; c++)
for(d=0; d<2; d++)
if((a==0)+(c==1)+(d==1)+(d==0)==3&&(a+b+c+d==1))
{ if(a)printf("A\n");
if(b)printf("B\n");
if(c)printf("C\n");
if(d)printf("D\n");
}
return 0; 展开
int main()
{ int a,b,c,d;
for(a=0; a<2; a++)
for(b=0; b<2; b++)
for(c=0; c<2; c++)
for(d=0; d<2; d++)
if((a==0)+(c==1)+(d==1)+(d==0)==3&&(a+b+c+d==1))
{ if(a)printf("A\n");
if(b)printf("B\n");
if(c)printf("C\n");
if(d)printf("D\n");
}
return 0; 展开
1个回答
展开全部
if((a==0)+(c==1)+(d==1)+(d==0)==3&&(a+b+c+d==1))
这个if语句的意思是(a==0)+(c==1)+(d==1)+(d==0)==3 这4个小括号里任意3个成立 和 a b c d任意为1
不知道前一个条件代码是否有问题d==1和d==0其中一个必定为真 也就是说a为0 c为1的情况下前一个条件为0 第二个条件必须c为1 其他为0 这个if条件才成立
这个if语句的意思是(a==0)+(c==1)+(d==1)+(d==0)==3 这4个小括号里任意3个成立 和 a b c d任意为1
不知道前一个条件代码是否有问题d==1和d==0其中一个必定为真 也就是说a为0 c为1的情况下前一个条件为0 第二个条件必须c为1 其他为0 这个if条件才成立
更多追问追答
追问
那后面四句关于输出的if语句是什么意思呢 为什么最后输出的是C呢 就是编译组建 执行后 就是 C 了
追答
前面分析了这个if成立必须c为1其他为0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询