Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.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++ 为什么我的cpp程序在第一行之后挂断?_C++ - Fatal编程技术网

C++ 为什么我的cpp程序在第一行之后挂断?

C++ 为什么我的cpp程序在第一行之后挂断?,c++,C++,我在cpp中有这个代码,我正在为一个竞争性的编码问题而编写。 这段代码似乎在第一行之后就停止工作了。即使我删除了第一行,代码也会在第二行挂起。我的CPU嗡嗡作响,好像我遇到了一个无限循环。这两条线都不能启动无限循环 请看这里: 看看正在打印的行号 然后我删除了我认为可能会引起麻烦的线路。但之后代码似乎就挂断了 见此: 这以前从未发生过。我不明白的是,即使我可能在其他地方犯了一些错误,我也从来没有碰过这两条线。这是我的竞争编码模板。这两行代码不应该独立于代码的其余部分吗?在写入stdout之后,您

我在cpp中有这个代码,我正在为一个竞争性的编码问题而编写。 这段代码似乎在第一行之后就停止工作了。即使我删除了第一行,代码也会在第二行挂起。我的CPU嗡嗡作响,好像我遇到了一个无限循环。这两条线都不能启动无限循环

请看这里:

看看正在打印的行号

然后我删除了我认为可能会引起麻烦的线路。但之后代码似乎就挂断了

见此:


这以前从未发生过。我不明白的是,即使我可能在其他地方犯了一些错误,我也从来没有碰过这两条线。这是我的竞争编码模板。这两行代码不应该独立于代码的其余部分吗?

在写入stdout之后,您将立即断开std::cout与stdout的连接

如果在标准流上发生I/O后调用此函数,则行为由实现定义:实现范围从无效到销毁读取缓冲区


什么是。。。?ios_base::将_与_stdiofalse同步;cin.tieNULL;精确地实现了在请求输入时可能不会刷新输出。所以打印并不是你看到程序评估结果的方式,因为程序可能正在执行。。。在展示任何东西之前。请张贴。这是我的竞争编码模板。扔掉它。在这个示例中,我只接受代码评审中的两行代码:int main{和}切换所有iostream标准流与其对应的标准C流的同步,如果在程序执行其第一个输入或输出操作之前调用它。如果在输入或输出操作发生后调用,则其效果由实现定义。如果您使用神秘的魔法咒语而不了解它们的作用,则可能会发生奇怪的事情。如果你的程序在没有同步的情况下太慢,问题出在你的算法上,而不是I/O上。把次等算法的微秒数剃掉没有什么竞争力。好吧。但是,即使在注释掉这一行之后,问题仍然存在。您可能正在使用未显示的代码中未定义的实现行为执行其他操作。如果是未定义的行为,则可以
#include<bits/stdc++.h>

    #define line cout<<__LINE__<<"\n"; //this prints the line number in code

using namespace std;

int main() {
line  //This prints

ios_base::sync_with_stdio(false); cin.tie(NULL); 

line //This doesn't print at first

freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);

line //This doesn't print in both attempts.
...
}