跳出循环的问题
本帖最后由 旭日东升 于 2011-4-23 17:02 编辑#include<stdio.h>
void main()
{
int i ,j ,k;
printf("ijk\n");
for (i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++) break;
printf("%d%d%d\n",i,j,k);
}
请问我把“break”跳出指令加在for(k=0;k<2;k++) 之后,我想知道为什么有循环但没有输出,只有当所有循环结束后才输出最后结果,中间的循环没有输出显示 第一break是一个新的指令,前面要有“;”与上句隔开
第二完全不知道你的break用来干什么?
第三for语句后要有{}来表示你要循环的内容,否则只默认第一句为要循环内容
下面是我猜测你要达到的目的改进的代码,不对希望你阐明目的
#include<stdio.h>
void main()
{
int i ,j ,k;
printf("ijk\n");
for (i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<2;k++)
{
printf("%d,%d,%d\n",i,j,k);
}
}
}
} 回复 xiang__jie 的帖子
把你上面的三个嵌套的循环写成标准的,for在不加{}的时候, 循环体只有一条语句, 就是他下面的语句。
for (i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<2;k++)
{
break;
}
}
printf("%d%d%d\n",i,j,k);
}
printf("%d%d%d\n",i,j,k); 在最外层的循环中,所以执行两次。
汗,你的break语句跟在for循环之后的是循环内只执行break,而输出则是你的循环结束后才执行! 楼主,你是不是需要这个#include <stdio.h>
void main()
{
int i ,j ,k;
printf("ijk\n");
for (i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<2;k++)
{
printf("%d%d%d\n",i,j,k);
//break;
}
}
}
// printf("%d%d%d\n",i,j,k);
} :cry:cry:cry
页:
[1]