此代码为使用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写入文件,即使内容保持不变,您也可以观察文件修改日期的变化.
至于你的代码,你有不确定的行为:
06002
当您尝试从中读取时,不会初始化vag.也许这会引起奇怪的行为?因为,当然,在其他正确的程序中,cout<< “”不可能改变结果.试试这个以防止未定义的行为:
double vag = 0.0;
P.S.:#include< bits / stdc .h>不是标准C.您应该将其更改为#include< iostream>,或者通常更改为特定的标头包含.并使用命名空间std;是一个坏习惯;即使它在你的示例程序中没有受到伤害,初学者有时会在头文件中使用全局范围,从长远来看它可能会造成严重破坏.
总结以上是内存溢出为你收集整理的c – 什么是空白的“cout”呢?全部内容,希望文章能够帮你解决c – 什么是空白的“cout”呢?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)