跳出while循环

我想把主函数的while跳出来return 应该返回什么值为什么 谢谢

/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
unsigned char i;
unsigned char *p;
LCD_Init();
LCD_Clear();
while (1)
{
i = 1;
p = "www.doflye.net";
LCD_Clear();
LCD_Write_String(2,0,"Welcome to");
DelayMs(250);
while (*p)
{
LCD_Write_Char(i,1,*p);
i ++;
p ++ ;
DelayMs(250);
}
DelayMs(250);

}
// 应该就是在这边加入 return 什么把?
}

你显然不是指正确的地方。它在第一个(1)之外,而(1)是一个死循环。没有中断或返回语句,你不能退出。

如果您想退出while(1)循环而不退出main函数,则在代码3添加一个退出条件,如If(条件)中断;(仅中断)

如果你不想退出while(1)循环,也退出main函数,则代码1, 2, 3加上退出条件,如IF(条件)返回;(仅返回)

我不知道我说清楚了吗?有一个问题可以讨论。

主()

{

(1)

{

代码1

(*)

{

代码2

}

代码3

}

你应该在这里加什么?错误,将任何语句添加到死循环是没有用的。

}

拓展资料

使用中断

例如:

int i=1;

当(真){

I++;

如果(i>100){

断裂;

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-19
函数返回类型是void, 都到函数结尾了没必要再加个return。
当然如果想中途结束函数可以直接return(就是只写一句return; )这个很常用
第2个回答  2012-08-19
加break跳出while、for、switch ,如果加return的话,整个函数就返回了。
第3个回答  推荐于2017-12-16
你指的地方显然不对,它在第一个while(1)外面,而while(1)是死循环,没有break或return语句是无法退出的。
如果你是想退出while(1)循环,而不退出主函数,要在代码3处加退出条件,如if(条件)break;(只能用break)
如果你不仅想退出while(1)循环,还退出主函数,那么在代码1、2、3处加退出条件皆可,如if(条件)return;(只能用return)

不知我说清楚了吗?有问题可以讨论。
main()

{
while (1)

{
代码1
while (*p)
{
代码2
}
代码3
}
// 应该就是在这边加入 return 什么把? 错误,在死循环外加任何语句都无用。
}追问

如果在while(1)里面加入return 那么while(*p)语句还能执行吗?

追答

看你加的地方和条件,在代码1中加,若条件一开始就符合当然while(*p)就不执行了,其他地方加至少执行一次。

追问

好的谢谢 如果我想让 1 和*p都执行一次循环 在2,3条件怎么打?

追答

在2处加退出条件 if(条件)return;(只能用return)
在3处加退出条件 if(条件)return或break;
条件的内容根据你程序的情况设定

本回答被提问者和网友采纳
相似回答