关于break在多层for里面printf的输出问题

 include <stdio.h>
int main(void)
{
	int i,j;
	for(i=0; i<4; ++i)
      	   for(j=1; j<4; ++j)
      	    {
               printf("aaa\n");
      	       break;
	     }
	return 0;
}

在Dev c++输出结果是:
aaa
aaa
aaa
aaa

个人心得:break终止了第二个for,但是printf被保留下来了,所以依旧会输出4个aaa。

 include <stdio.h>
int main(void)
{
	int i,j;
	for(i=0; i<4; ++i)
      	for(j=1; j<4; ++j)
      	{
      		break;
      		printf("aaa\n");
		  }
	return 0;
}

在dev里面没有任何东西输出。

学长解释:
输出以后再break,外面还有一个循环四次的循环体,所以它会输出四次,break四次,break只是跳出它自己这一层循环!

#include <stdio.h>
int main(void)
{
	int i,j;
	for(i=0; i<4; ++i)
		for(j=0; j<3; ++j)
		{
			printf("aaa\n");
			break;
			printf("bbb\n");//循环到break就终止了所以无法输出bbb
		}
		return 0;
 } 

 //输出
 aaa
aaa
aaa
aaa

--------------------------------
Process exited after 0.03366 seconds with return value 0
请按任意键继续. . .

2018-9-12 18:03:24

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值