关于C语言多重if问题,急,帮帮

来源:百度知道 编辑:UC知道 时间:2024/06/02 19:57:16
6、以下程序的输出结果是
main()
{ int a=-1,x =11,y=8,m=3,n=0;
if (x>y)
if(y=10)
if(m) a=1;
else
if(!n) a=10;
else a=0;
printf( "%d\n",a ); }
A)-1 B) 0 C) 1 D)10
这个是怎么样的分析啊,第一个if是正确的,第二个是错误的,那下面的一个if是不是就不用执行了啊,为什么还是要执行的啊

C
请注意
y=10是赋值,y得到10,是真,继续if(m),为真,所以a赋值了1
else的从句部分自然不执行

不要怕,我帮你把它分清楚,希望你也能清楚~~~~
main()
{
int a=-1,x=11,y=8,m=3,n=0;
if(x>y)
{
if(y=10)
{
if(m)
{
a=1;
}
else
{
if(!n)
{
a=10;
}
else a=0;
}
}
}
printf("%d\n",a);
}

不是,if语句都会执行