main() 中的 std::cout 在调试期间不会在调试控制台中打印任何内容

std::cout inside main() not printing anything in debug console during debugging

本文关键字:调试 控制台 打印 任何内 std cout main 中的      更新时间:2023-10-16

main函数中的任何cout语句在调试期间都不会打印任何值,但其他函数中的cout在函数调用期间打印值(我使用vscode(

#include<iostream>
using namespace std;
int main()
{
int a;
a=9;
if(a==9)
{
cout<<"hello";}
return 0;
}

调试时,在 main(( 的第一行放置一个断点 "hello"未在调试控制台中打印。

#include <iostream>
using namespace std;
void fun(int n)
{
if (n > 0)
{
cout << n << endl;
fun(n - 1);

}
}
int main()
{
int x = 3;
fun(3);
cout<<x;
return 0;
}

但是当通过在 main(( 的第一行放置断点来调试时 值的打印方式如下 3 2 1

std::cout 是缓冲的。尝试使用 std::flush 或 std::endl。

你也可以尝试使用 std::cerr 代替 std::cout。