微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在while循环后我无法打印一些东西

如何解决在while循环后我无法打印一些东西

int main() 
{
    char word;
    int ascii_number,i =0,sum = 0 ;
    
    while(word != '\n')
    {
        cin>>word;
        ascii_number = int(word);
        sum = sum + factorial(convert_decimal_to_binary(ascii_number));
        i = i+1;
        
    }
cout<<sum/i<<endl;

在最后一行中,“cout”不起作用并且应用程序没有任何打印输出... 请帮忙。

解决方法

 while(word != '\n')

这永远不会是真的。因为,默认情况下,std::cin 具有在读取字符时跳过空格的设置。要更改该设置,请使用

std::cin >> std::noskipws;

这是为了回答您的具体问题。但是,您的代码中还有其他问题,例如:

  • 在第一次迭代中,word 未初始化。
  • 对于表示单个字符的变量名来说,"word" 可能是一个糟糕的选择;
  • 选择的增加 i 的方式,
  • 一些变量的范围,

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。