循环代码错误C++;? 这是一个C++编程书籍的练习题。这个循环代码中有一个缺陷。我相信很多人会马上回答。我猜是前缀递增运算符 int x = 0; while (x) { ++x; cout << x << endl; } intx=0; while(x) { ++x; 不能,它的x=0; 您需要将x指定给一个正数,如x=1,以使循环运行,因为x=0的计算结果为false,所以循环不会运行。

循环代码错误C++;? 这是一个C++编程书籍的练习题。这个循环代码中有一个缺陷。我相信很多人会马上回答。我猜是前缀递增运算符 int x = 0; while (x) { ++x; cout << x << endl; } intx=0; while(x) { ++x; 不能,它的x=0; 您需要将x指定给一个正数,如x=1,以使循环运行,因为x=0的计算结果为false,所以循环不会运行。,c++,C++,如果x=0则while循环的计算结果为false,while循环的主体将永远不会执行,因为x不会更改,并且始终保持为0 将不输出任何内容,程序将以返回代码0退出,不提供缺少输出的线索。while循环将根本不执行,因为0被视为false while(false){ //will not execute; since (x=0 == false) } //skips above code and execute this directly. 若你们想在循环中运行代码,你们可以给出一个真实的值,比如

如果x=0则while循环的计算结果为false,while循环的主体将永远不会执行,因为x不会更改,并且始终保持为0


将不输出任何内容,程序将以返回代码0退出,不提供缺少输出的线索。

while循环将根本不执行,因为0被视为false

while(false){
//will not execute; since (x=0 == false)
}
//skips above code and execute this directly.
若你们想在循环中运行代码,你们可以给出一个真实的值,比如x=1

while(true){
//will execute (since x=1 === true)
}
while(1)
相当于
while(x==0)
while(0)
相当于
while(x)

语义”是“while”running while..,变量“x”包含0,因此如果直接将其添加到条件中,因为它是0=false

x==0,如果
x==0
,则返回true

参考:

while(x)计算为while(x!=0),因此不会向控制台输出任何内容。即,它与:

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{


    int x = 0;
    while (x != 0) 
    {
        ++x;
        cout << x << endl;

    }

    return 0;
}
#包括“stdafx.h”
#包括
使用名称空间std;
int _tmain(int argc,_TCHAR*argv[]
{
int x=0;
而(x!=0)
{
++x;

cout@owacoder:事实上,有符号溢出是未定义的行为。编译器可以将该循环转换为无限循环(IIRC有一些gcc版本使用-O3实现了这一点)。@MatteoItalia-I是错误的。我认为它是一个
无符号int
;-)而(x)被解释为:while(x!=0),所以什么都没有输出到屏幕上。非常感谢你们大家的时间和投入。你们的答案直截了当,简洁易懂。有了你们,世界会变得更美好。
#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{


    int x = 0;
    while (x != 0) 
    {
        ++x;
        cout << x << endl;

    }

    return 0;
}