C语言 if 循环
#include<stdio.h>
int main(void)
{
int a,b;
a=b=3;
if(a>5)
if(a<10)a++;
else a--;
if(b>5)
{if(b>10) b++;}
else b--;
}
为什a=3 b=2 首先对于a, if语句,在没有加大括号的情况下,默认控制其后的一个语句,所以if(a>5)控制的语句是 条件语句if(a<10)a++; else a--;而题目中a的初始值为3,则无法进入if(a>5)控制的语句。所以最后a的值依旧是3。
对于b,if(b>5),根据大括号的位置,它控制的语句为if(b>10)b++; ,因为b的初始值为3,所以无法进入if(b>5)控制的语言,而执行对应的else命令,b---;所以最后的值为2 beijudezixuan 发表于 2018-11-7 14:10
首先对于a, if语句,在没有加大括号的情况下,默认控制其后的一个语句,所以if(a>5)控制的语句是 条件语句i ...
b<10....不是>10 beijudezixuan 发表于 2018-11-7 14:10
首先对于a, if语句,在没有加大括号的情况下,默认控制其后的一个语句,所以if(a>5)控制的语句是 条件语句i ...
f(b>5)
{if(b>10) b++;}
else b--;
} kkk0219k 发表于 2018-11-7 20:06
b10
是那里其实是if(b<10)的意思吗?但是无论是什么,它都是受前面的if(b>5)语句控制,因为前面的条件不被满足,所以不被执行到这里。它会直接执行了与if(b>5)对应的else b--; haodexiexie ~
页:
[1]