打印
[开发资料]

C语言while(1) 和 for ( ; ; )的区别

[复制链接]
楼主: probedog
手机看帖
扫描二维码
随时随地手机跟帖
21
while(1) 和 for(;;) 都是无限循环,它们的主要区别在于循环条件的表达式。

使用特权

评论回复
22
olivem55arlowe| | 2023-10-8 13:01 | 只看该作者
for(;;)是使用for循环语句的一种特殊用法,省略了初始化表达式、条件表达式和增量表达式,形成一个空的循环头部。这样循环条件始终为真,循环体会一直执行下去,除非在循环体内使用break语句或其他跳出循环的条件。

使用特权

评论回复
23
mickit| | 2023-10-8 13:12 | 只看该作者
这两种写法在语义上是相同的,选择哪种形式更多是一种个人或团队的编码风格选择。

使用特权

评论回复
24
uiint| | 2023-10-8 13:24 | 只看该作者
while(1) 和 for (;;) 都是无限循环,但是它们有一些区别:

while(1) 中的条件始终为真,因此这个循环会一直执行下去,除非手动跳出。

for (;;) 中的初始表达式是空的,因此它不会像 while(1) 一样陷入死循环。相反,它会在每次循环迭代时重新计算初始表达式,直到初始表达式为真为止。

while(1) 通常用于需要持续运行的程序中,例如服务器程序或守护进程。而 for (;;) 通常用于需要不断尝试某些操作直到成功或失败的程序中,例如网络通信程序或文件读写程序。

使用特权

评论回复
25
eefas| | 2023-10-8 13:44 | 只看该作者
while(1)和for(;;)都用于创建无限循环,它们的主要区别在于语法表达方式,但在功能和效果上是一样的。

使用特权

评论回复
26
wengh2016| | 2023-10-8 13:59 | 只看该作者
while(1)的意思是“只要1为真”,即一直循环下去。由于1恒为真,所以这种循环会一直执行下去,直到出现了break或者return等跳出循环的语句。

使用特权

评论回复
27
pmp| | 2023-10-8 14:16 | 只看该作者
for(;;)表示一个空的循环条件,相当于while(1),也会一直循环下去。它的循环体中通常包含跳出循环的语句,如break、return或者goto等。

使用特权

评论回复
28
eefas| | 2023-10-8 14:31 | 只看该作者
for 语句也是一个循环语句,但它有一个初始化、判断和更新三步,其中初始化和更新部分可以省略。这种语句常用于已知循环次数的情况,如循环遍历数组、循环输出某些数据等。

使用特权

评论回复
29
biechedan| | 2023-10-8 14:39 | 只看该作者
在功能上,这两个循环是等效的,都可以用来创建无限循环。然而,如果你需要在循环中增加退出条件,while 语句更合适,因为它允许你在循环体之后添加一个 break 语句来终止循环。对于 for 语句,你需要在循环体内显式地添加 break ,否则循环会一直进行下去。

使用特权

评论回复
30
sheflynn| | 2023-10-8 14:47 | 只看该作者
C 语言中的 while(1) 和 for(;;) 都是循环语句,用于实现代码的重复执行。它们的主要区别在于循环条件的表达式和执行流程。

使用特权

评论回复
31
updownq| | 2023-10-8 14:56 | 只看该作者
while(1)是使用while循环语句来实现无限循环的一种常见方式。其中的条件表达式1***为真,因此循环会一直执行下去,除非在循环体内使用break语句或其他跳出循环的条件。

使用特权

评论回复
32
adolphcocker| | 2023-10-8 15:09 | 只看该作者
while后面的括号中是一个条件表达式,这个条件表达式会被判断为真或假。在这里,条件表达式是数字1,它被视为真,因此循环会一直执行下去。

使用特权

评论回复
33
cemaj| | 2023-10-8 15:22 | 只看该作者
while(1)循环的条件是固定的,即一直循环,直到手动终止循环。

使用特权

评论回复
34
chenci2013| | 2023-10-8 15:30 | 只看该作者
while(1)和for(;;)在功能上是等价的,都可以用来实现无限循环。

使用特权

评论回复
35
LinkMe| | 2023-10-9 09:39 | 只看该作者
while(1),语句以及,for,语句都是轮回语句

使用特权

评论回复
36
鹿鼎计| | 2023-10-9 10:57 | 只看该作者
These two writing methods are semantically identical, and choosing which form is more of a personal or team coding style choice。

使用特权

评论回复
37
软核硬核| | 2023-10-9 12:12 | 只看该作者
while(1)以及for(,,)的结果基本相同,可以交换利用。

使用特权

评论回复
38
Pretext| | 2023-11-5 17:03 | 只看该作者
while(1)循环的条件是固定的,也就是说,它将继续循环,直到手动终止循环。

使用特权

评论回复
39
星辰大海不退缩| | 2023-11-6 13:02 | 只看该作者
for的循环更高效一点

使用特权

评论回复
40
芯路例程| | 2023-11-7 17:56 | 只看该作者
while(1)以及for(,,)在功效上是等价的,都可以用来实现无穷轮回。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则