C编程,while循环
我在阅读代码时遇到了一个类似这样的while循环:C编程,while循环,c,C,我在阅读代码时遇到了一个类似这样的while循环: while(q--) 我知道这是一个后减量运算符,但我不了解while循环中正在测试的条件 感谢您的时间,ConnorAwhileloop检查条件是否正确 计算结果为0的表达式被视为false,而任何非零表达式都被视为true 根据本手册第6.8.5节: 4迭代语句导致称为循环体的语句重复执行,直到控制表达式比较相等 到0。无论循环体是否为空,重复都会发生 从迭代语句或跳转输入 所以这个循环测试q是否为非零。一旦q减为0,循环退出。在C中,“
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语言,有些人更喜欢它的简洁。理解常见的习语当然很重要。“但我不会说这种结构一定是懒惰或糟糕的。”康诺索腾很高兴我能帮上忙。如果你觉得它有用的话,请随意使用。