语法问题:关于for循环中使用break语句,请高手指教一下,谢谢 for (int i = 0; i < 9; i++) { if(i == 7) { break;//跳出去了 //但是我还想要在break 后面执行 i = 0;再跳出去 i = 0; 请问如何写呢? } } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你把i定义到for循环外面当你的for循环结束时就把i=0int i;for (int i = 0; i < 9; i++) { if(i == 7) { break;//跳出去了 } } i = 0; int i;for ( i = 0; i < 9; i++) { if(i == 7) { break;//跳出去了 } } i = 0; i=0是任何情况都处理,还是只是在 i==7时处理?纯看你这段程序的话,i是局部变量,for完就没了,在外边不能赋值的。如果是在i==7时处理i=0;for (int i = 0; i < 9; i++) { if(i == 7) { i = 0; //不break就死循环了 break;//跳出去了 } } i的生命周期是在for里面的,LZ要用的话,要用个作用范围更大的变量来操作 for (int i = 0; i < 9; i++) { if(i == 7) { i = 0; //在这里写就可以了 break;//跳出去了 } }这样就行了,但很想知道楼主到底想实现什么目的? 对不起各位 辛苦了,我忘了把问题说清楚了,首先感谢大家极极的回答,我非常的欣慰。for (int i = 0; i < 9; i++) { if(i == 7) { break;//跳出去了 //但是我还想要在break 后面执行 i = 0;再跳出去 i = 0;//必须在break后面执行 i = 0,也就是说当这个执行这个判断的时候跳出循环了,但是必须重置 i = 0; 不能用全局变量等等。 } }如果没有这样的语法的话就算了,我只有使用全局变量了,我想在break后面应该有办法实现我想要的东西 我想比如:for (int i = 0; i < 9; i++) { if(i == 7) { break;//跳出去了 default;//加个default 哈哈 必须执行default后面的 嘿嘿 i = 0; // 呵呵 不知道有这样的语法吗?或者类似的语法 呵呵 } } LZ还是说清楚for (int i = 0; i < 9; i++) { if(i == 7) { i = 0; //在这里写就可以了 break;//跳出去了 } }这样写就可以了但是这个局部变量i对你并没有什么用,因为是局部的想实现其它用途的话,还是使用全局的吧 SmallMummy(笑看人生) 你的 i 在break 前面哈 if(i == 7) { i = 0; //在这里写就可以了 break;//跳出去了 }呵呵 不能满足我的需求,我仔细看了下我的代码,我发觉就算实现了在break 后面 i = 0,也不是我要的,哈哈 简直闹笑话了撒 不好意思各位 liujia_0421() 想知道我在做什么回答:我在写一个打印程序 呵呵 部分代码如下for (; t < printTable.GetLength(0); t++) { for (int j = 0; j < printTable.GetLength(1); j++) { e.Graphics.DrawString(printTable[t, j], fnt, s, x + 5, y + 6);//字体边距 + 5,字体行距 + 6; sw.WriteLine(column[j].ToString()); x = x + column[j] + 10;//字体与字体距离 + 10; if (x > e.MarginBounds.Width) { break; } } if (yRow + 10 + fnt.GetHeight(e.Graphics) > e.MarginBounds.Height)//判断下一行y点是否超出了打印页面的高度 { e.HasMorePages = true; t++; break;//这里就是我想重置 t = 0; 但是这个想法是错误 哈哈 } x = e.MarginBounds.Left; } 听说windows8下能用javascript和html5写桌面应用程序? VS图标右下角怎么多了一个东西? C#文件拷贝,比较复杂,请大家帮忙啊!! 怎么将Hashtable的使用同XML结合起来 C#的控制台下不能运行FILE类? Image 转成 byte 的问题? 求救 访问Informix数据库如果表中有GBK码时,出错! 请教一个C#操作EXCEL的问题——如何用C#合并EXCEL单元格 C#中as的用法 散分拉!在使webform里如何使鼠标移到datagrid某一单元格上时显示成手型 相同的数字,可能会有不同的asicc码吗???
int i;
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了
}
}
i = 0;
for ( i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了
}
}
i = 0;
纯看你这段程序的话,i是局部变量,for完就没了,在外边不能赋值的。如果是在i==7时处理i=0;
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
i = 0; //不break就死循环了
break;//跳出去了
}
}
{
if(i == 7)
{
i = 0; //在这里写就可以了
break;//跳出去了
}
}
这样就行了,但很想知道楼主到底想实现什么目的?
{
if(i == 7)
{
break;//跳出去了
//但是我还想要在break 后面执行 i = 0;再跳出去
i = 0;//必须在break后面执行 i = 0,也就是说当这个执行这个判断的时候跳出循环了,但是必须重置 i = 0; 不能用全局变量等等。
}
}如果没有这样的语法的话就算了,我只有使用全局变量了,我想在break后面应该有办法实现我想要的东西
{
if(i == 7)
{
break;//跳出去了
default;//加个default 哈哈 必须执行default后面的 嘿嘿
i = 0; // 呵呵 不知道有这样的语法吗?或者类似的语法 呵呵
}
}
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
i = 0; //在这里写就可以了
break;//跳出去了
}
}
这样写就可以了
但是这个局部变量i对你并没有什么用,因为是局部的
想实现其它用途的话,还是使用全局的吧
{
i = 0; //在这里写就可以了
break;//跳出去了
}
呵呵 不能满足我的需求,我仔细看了下我的代码,我发觉就算实现了在break 后面 i = 0,也不是我要的,哈哈 简直闹笑话了撒 不好意思各位
回答:我在写一个打印程序 呵呵 部分代码如下
for (; t < printTable.GetLength(0); t++)
{
for (int j = 0; j < printTable.GetLength(1); j++)
{
e.Graphics.DrawString(printTable[t, j], fnt, s, x + 5, y + 6);//字体边距 + 5,字体行距 + 6;
sw.WriteLine(column[j].ToString());
x = x + column[j] + 10;//字体与字体距离 + 10;
if (x > e.MarginBounds.Width)
{
break;
}
}
if (yRow + 10 + fnt.GetHeight(e.Graphics) > e.MarginBounds.Height)//判断下一行y点是否超出了打印页面的高度
{
e.HasMorePages = true;
t++;
break;//这里就是我想重置 t = 0; 但是这个想法是错误 哈哈
}
x = e.MarginBounds.Left;
}