梦见自己大便好不好:c语言语句

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:27:09
for(;;) 这种语句for 值里什么都没有的通常在什么情况下用呢? 有必要么?
对吗? 可程序里确实有,那样不是永远出不来了?

举个实际应用的例子,你需要不断的采集数控机床的步进电机转速.一旦超标就报警,那么可以这么做:
int status = 0;
for(;;)
{
status = getStatus();//采集数据
if(status>3000)
{
showWarning();//出错报警
}
else
{
writeLog(); //否则记录到日志里面
}
}

另外一个例子,你开发一个游戏,需要把画面不断的一幅一幅的刷新到屏幕上,形成动态的画面.

for(;;)
{
getControl(); //取得用户的输入,比如方向杆
doLogic(); //对游戏逻辑进行处理
clear(); //清除显示器上上一祯的画面
runTime(); //固定刷新率
display(); //显示画面
}

如果在不断的循环中需要退出,可以使用break直接退出来.如:
for(;;)
{
if(isError)break; //如果出错,退出死循环
}

在很多情况下 while(1)也可以完成上面的功能

希望对LZ有帮助呵呵

可以与GOTO 语句一起使用,不过结构化编程不建议使用

循环中设置跳出条件
for(;;)
{
....
if(a>1000)
goto aaa;
....
}
aaa:

这样写的话,就是什么情况都行,一定会执行循环,有时是需要这样做的(其实就是个死循环).

楼上的高手啊,看的我是豁然开朗。