这个题目出题的人就是故意把题目写成这么乱七八糟让你看不清楚的样子,
你先把它改写一下:
main()
{
int a, b, c, x;
a = b = c =0;
x = 35;
if (!a)
x--;
else if (b)
;
if (c)
x = 3;
else
x = 4;
printf("%d\n");
}
一看最后要输出的是x的值,而后面的if else都对x进行了赋值,那么肯定得有一个改变x的值,所以前面的那个if else if完全可以忽略; 之后,一看c是0,说明执行了后面的那个else中的语句,即x = 4; ,故最后要输出4
执行了a--。把代码缩进及层次用{}写好就清楚了——
从知,第二个if~else是第一个if的“体”,第一个if(a>0)成立,就要执行第二个if~else分支,但第二个if(b>0)并不成立,所以要执行它的else分支a--。所以左边的代码执行了a--。
顺序结构,顾名思义就是按顺序执行的语句,选择结构,就是在执行过程中需要进行选择判断!一般选择结构有if--else 结构,switch -- case 结构。
顺序结构
#include <stdio>
void main()
{
printf("%s","hello");
printf("%s"," world!\n")
return;
} //顺序输出 hello word! 这就是顺序结构
选择结构
#include <stdio>
void main()
{
int i ;
scanf("%d",&i);
if(i >=0)
{
printf("%s","hello\n");
} // 如果 输入的i 大于等于0 则 输出hello 否则输出下面else中的world!
else
{
printf("%s","world!\n");
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)