c – 什么是空白的“cout”呢?
发布时间:2020-12-16 09:59:36 所属栏目:百科 来源:网络整理
导读:使用与否的空白cout有什么不同? 此代码为使用cout“”提供正确的答案; #include bits/stdc++.h using namespace std; int main() { long long input,ans=1,vagsesh; double vag; cininput; while(input0 || vag0) { vag = ((log10(input))/(log10(2))); cou
使用与否的空白cout有什么不同?
此代码为使用cout<<“”提供正确的答案; #include <bits/stdc++.h> using namespace std; int main() { long long input,ans=1,vagsesh; double vag; cin>>input; while(input>0 || vag>0) { vag = ((log10(input))/(log10(2))); cout<<""; // if this is not used,it leads to a wrong answer vagsesh = vag; input -= pow(2,vagsesh); if(input > 0) { ans++; } if(input==0) { break; } } cout<<ans<<endl; return 0; } cout<<“”是做什么的;这里? 解决方法
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写入文件,即使内容保持不变,您也可以观察文件修改日期的变化. 至于你的代码,你有不确定的行为:
当您尝试从中读取时,不会初始化vag.也许这会引起奇怪的行为?因为,当然,在其他正确的程序中,cout<< “”不可能改变结果.试试这个以防止未定义的行为: double vag = 0.0; P.S.:#include< bits / stdc .h>不是标准C.您应该将其更改为#include< iostream>,或者通常更改为特定的标头包含.并使用命名空间std;是一个坏习惯;即使它在你的示例程序中没有受到伤害,初学者有时会在头文件中使用全局范围,从长远来看它可能会造成严重破坏. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |