【问题标题】:While Loop Condition C++ [duplicate]While循环条件C ++ [重复]
【发布时间】:2016-01-08 18:42:09
【问题描述】:

这个条件在while循环中是什么意思?

 int x;
 cin >> x;
 while(x) {
   ...
 }

【问题讨论】:

  • 应该是while(cin >> x){,但不能从给定的如此狭窄的上下文中分辨出来。

标签: c++ while-loop


【解决方案1】:

int 隐式转换为bool。基本上0 转换为false,所有非零值都转换为true

更详细地说,你的条件应该是

while (x != 0)

【讨论】:

    【解决方案2】:

    正如@CoryKramer 所说,当您有一个仅包含变量的条件时,即使是 char、int、float 等,值 0 都被视为 false,而其他任何值都被视为 true。如果使用指针也是一样的:NULL 值被认为是假,而任何其他方向都被认为是真。

    【讨论】:

      猜你喜欢
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      相关资源
      最近更新 更多