加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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写入文件,即使内容保持不变,您也可以观察文件修改日期的变化.

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

06002

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

double vag = 0.0;

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读