c – 什么是空白的“cout”呢?

c – 什么是空白的“cout”呢?,第1张

概述使用与否的空白cout有什么不同? 此代码为使用cout<<“”提供正确的答案; #include <bits/stdc++.h> using namespace std; int main() { long long input, ans=1, vagsesh; double vag; cin>>input; 使用与否的空白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写入文件,即使内容保持不变,您也可以观察文件修改日期的变化.

至于你的代码,你有不确定的行为:

06002

当您尝试从中读取时,不会初始化vag.也许这会引起奇怪的行为?因为,当然,在其他正确的程序中,cout<< “”不可能改变结果.试试这个以防止未定义的行为:

double vag = 0.0;

P.S.:#include< bits / stdc .h>不是标准C.您应该将其更改为#include< iostream>,或者通常更改为特定的标头包含.并使用命名空间std;是一个坏习惯;即使它在你的示例程序中没有受到伤害,初学者有时会在头文件中使用全局范围,从长远来看它可能会造成严重破坏.

总结

以上是内存溢出为你收集整理的c – 什么是空白的“cout”呢?全部内容,希望文章能够帮你解决c – 什么是空白的“cout”呢?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存