你好,for、if、while这些后面跟的要么是块语句(也就是大括号括起来的),要么就是单条语句(也就是在没括号时,只能跟一条语句)。
你上面的代码改写为如下的话, 是不是理解就不出错了:
这道C语言题程序输出的结果是n为1。在这程序里有两层的for循环,循环体里面是一个if判断语句,n++这步计算是位于循环体之外的,在循环语句运行之后才会执行n++。所以最终的结果是1。
因为n++不在循环里面,所以只执行一次
如果for循环不加{}那就只执行下面的一条语句
上面的相当于
for(i = 0; i < 2; i++)
{
for(j = 0; j < 2; j++)
{
if(j >=1) m = 1;
}
}
n++;
你可能对语法不太清楚。
for嵌套没有大括号,所以这段代码的意思是
for(i=0;i<2;i++){ for(j=0;j<2;j++) { m=1 } }
n++;
拿去编译器运行一下就知道了。