使用与否的空白cout有什么不同? 此代码为使用cout<<<&#;"";
提供了正确的答案{{1}}
cout<<&#;"&#34 ;;这里吗?
答案 0 :(得分:7)
cout << ""
不是我认为的“空白cout”。 “空白cout”将是以下内容:
std::cout;
事实上,std::cout << ""
会考虑操纵者。例如:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::setw(10);
std::cout << "";
}
输出:10个空格。
std::cout << ""
的另一个可观察效果,即使没有任何操纵符,也会将程序输出重定向到文件(类似myprogram.exe > file.txt
或./myprogram > file.txt
)。 std::cout
然后写入文件,即使内容保持不变,您也可以观察文件修改日期的变化。
至于你的代码,你有不确定的行为:
当您尝试从中读取时,double vag; cin>>input; while(input>0 || vag>0)
vag
未初始化。也许这会引起奇怪的行为?因为,当然,在一个正确的程序中,cout << ""
不可能改变结果。试试这个以防止未定义的行为:
double vag = 0.0;
P.S。:#include <bits/stdc++.h>
不是标准的C ++。您应该将其更改为#include <iostream>
,或者通常更改为特定的标头包含。而using namespace std;
是一个坏习惯;即使它在你的示例程序中没有受到伤害,初学者有时也会在头文件中使用全局范围,从长远来看它可能会造成严重破坏。