如何解决在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 举报,一经查实,本站将立刻删除。