Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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++ c++;奇怪的执行逻辑 int main(int argc,const char*argv[] { std::cout_C++_Execution - Fatal编程技术网

C++ c++;奇怪的执行逻辑 int main(int argc,const char*argv[] { std::cout

C++ c++;奇怪的执行逻辑 int main(int argc,const char*argv[] { std::cout,c++,execution,C++,Execution,您没有得到任何输出的原因是stdout(默认情况下由cout使用)没有被刷新。stdout流被缓冲,并且只有在某些情况下才会刷新此缓冲区:当指令刷新时(例如使用cout.flush()到达新行)),或退出流程时 在代码中,您没有输出任何换行符,也没有手动刷新缓冲区(因为hasPassed从未设置为true,导致无限循环)您从未退出该进程。由于这些原因,stdout从未被刷新,因此任何输出都不会显示在屏幕上。您没有得到任何输出的原因是stdout(默认情况下由cout使用)未被刷新。stdout流

您没有得到任何输出的原因是
stdout
(默认情况下由
cout
使用)没有被刷新。
stdout
流被缓冲,并且只有在某些情况下才会刷新此缓冲区:当指令刷新时(例如使用
cout.flush()到达新行)
),或退出流程时


在代码中,您没有输出任何换行符,也没有手动刷新缓冲区(因为
hasPassed
从未设置为
true
,导致无限循环)您从未退出该进程。由于这些原因,
stdout
从未被刷新,因此任何输出都不会显示在屏幕上。

您没有得到任何输出的原因是
stdout
(默认情况下由
cout
使用)未被刷新。
stdout
流已被缓冲,并且此缓冲区仅在某些情况下被刷新:到达新行时,指示刷新(例如使用
cout.flush()
),或退出进程时


在代码中,您没有输出任何换行符,也没有手动刷新缓冲区(因为
hasPassed
从未设置为
true
,导致无限循环)您从未退出该进程。由于这些原因,
stdout
从未被刷新,因此任何输出都不会显示在屏幕上。

您没有得到任何输出的原因是
stdout
(默认情况下由
cout
使用)未被刷新。
stdout
流已被缓冲,并且此缓冲区仅在某些情况下被刷新:到达新行时,指示刷新(例如使用
cout.flush()
),或退出进程时


在代码中,您没有输出任何换行符,也没有手动刷新缓冲区(因为
hasPassed
从未设置为
true
,导致无限循环)您从未退出该进程。由于这些原因,
stdout
从未被刷新,因此任何输出都不会显示在屏幕上。

您没有得到任何输出的原因是
stdout
(默认情况下由
cout
使用)未被刷新。
stdout
流已被缓冲,并且此缓冲区仅在某些情况下被刷新:到达新行时,指示刷新(例如使用
cout.flush()
),或退出进程时


在代码中,您没有输出任何换行符,也没有手动刷新缓冲区(因为
hasPassed
从未设置为
true
,导致无限循环)您从未退出该进程。由于这些原因,
stdout
从未刷新,因此任何输出都不会显示在屏幕上。

您没有初始化
objectSize
。您从未将
hasPassed
设置为
true
,因此您的while循环不会退出。因为您没有刷新(只需给它一个换行符,或
std::endl
),它可能不会显示任何内容。@icabod我很清楚我从未将hasPassed设置为true。但它不应该更改任何内容,因为循环是在代码之后输入的。提示:beyond
std::cout
for(char c:turnsDefined){objectSize++;}
关于
int objectSize=turnDefined.size();
?:)您还没有初始化
objectSize
。您从未将
hasspassed
设置为
true
,因此您的while循环不会退出。因为您没有刷新cout(只需给它一个换行,或者
std::endl
),它可能不会显示任何内容。@icabod我很清楚我从未将hasPassed设置为true。但它不应该更改任何内容,因为循环是在代码之后输入的。提示:Everyting beyond
std::cout
for(char c:turnsDefined){objectSize++;}
关于
int-objectSize=turnsefined.size();
?:)您尚未初始化
objectSize
。您从未将
hasspassed
设置为
true
,因此您的while循环不会退出。因为您没有刷新cout(只需给它一个换行符,或
std::endl
),它可能不会显示任何内容。@icabod我很清楚我从未将hasPassed设置为true。但它不应该更改任何内容,因为循环是在代码之后输入的。提示:Everyting beyond
std::cout
for(char c:turnsDefined){objectSize++;}
关于
int-objectSize=turnsefined.size();
?:)您尚未初始化
objectSize
。您从未将
hasspassed
设置为
true
,因此您的while循环不会退出。因为您没有刷新cout(只需给它一个换行符,或
std::endl
),它可能不会显示任何内容。@icabod我很清楚我从未将hasPassed设置为true。但它不应该更改任何内容,因为循环是在代码之后输入的。提示:Everyting beyond
std::cout
for(char c:turnsDefined){objectSize++;}
关于
int-objectSize=turnsefined.size();
?:)
int main(int argc, const char * argv[])
{
    std::cout << "How many turns do you want to do?" << std::endl << std::endl;
    std::string turnsDefined;
    std::cin >> turnsDefined;
    std::cout << turnsDefined;
    bool hasPassed = false;
    int objectSize;
    for(char c : turnsDefined){
        objectSize++;
    }
    std::cout << objectSize;
    while(hasPassed != true){
        for(char c : turnsDefined){
            if(isdigit(c) != true){
                hasPassed = false;
                break;  
            }
        }
    }

    std::cout << "Successfully passed all if conditions.";
    return 0;
}