Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C编程,while循环_C - Fatal编程技术网

C编程,while循环

C编程,while循环,c,C,我在阅读代码时遇到了一个类似这样的while循环: while(q--) 我知道这是一个后减量运算符,但我不了解while循环中正在测试的条件 感谢您的时间,ConnorAwhileloop检查条件是否正确 计算结果为0的表达式被视为false,而任何非零表达式都被视为true 根据本手册第6.8.5节: 4迭代语句导致称为循环体的语句重复执行,直到控制表达式比较相等 到0。无论循环体是否为空,重复都会发生 从迭代语句或跳转输入 所以这个循环测试q是否为非零。一旦q减为0,循环退出。在C中,“

我在阅读代码时遇到了一个类似这样的while循环:

while(q--)
我知道这是一个后减量运算符,但我不了解while循环中正在测试的条件


感谢您的时间,ConnorA
while
loop检查条件是否正确

计算结果为0的表达式被视为false,而任何非零表达式都被视为true

根据本手册第6.8.5节:

4迭代语句导致称为循环体的语句重复执行,直到控制表达式比较相等 到0。无论循环体是否为空,重复都会发生 从迭代语句或跳转输入

所以这个循环测试
q
是否为非零。一旦
q
减为0,循环退出。

在C中,“TRUE”由非零值表示。因此,循环将一直运行,直到“q”达到“0”

这是一个糟糕的编程。不需要花太多的精力就能使代码清晰、准确

而((q-)!=0)则更合适。 或 while(q!=0) { q--; //.......
}基本上,表达式
,而(q-)
等于

while(q == true)
{
    q--;
}
因为
while
将偏执之间的内容与
true
进行比较,同时可以执行操作,与
for loop
相同。
请注意,值1表示
true
,值0表示
false
,因此只要
q=0
,条件将返回
false
,这将使循环停止

这也是惯用的C语言,有些人更喜欢它的简洁。理解常见的习语当然很重要。“但我不会说这种结构一定是懒惰或糟糕的。”康诺索腾很高兴我能帮上忙。如果你觉得它有用的话,请随意使用。