啊哈磊_编程从这里起步

标题: 小BUG [打印本页]

作者: 李掌柜    时间: 2016-7-7 17:04
标题: 小BUG
#include <iostream>
using namespace std;
void n_chars( char, int );
int main()
{
    int times;
    char ch;

    cout << "Enter a character: ";
    cin >> ch;
    while ( ch != 'q' )
    {
        cout << "Enter an integer: ";
        cin >> times;
        n_chars( ch, times );
        cout << "\nEnter another character or press the q-key to quit:";
        cin >> ch;
    }
    cout << "The value of times is " << times << ".\n";
    cout << "Bye\n";

    return 0;
}

void n_chars( char ch, int n )
{
    while ( n-- > 0 )
    {
        cout << ch;
    }
}

书上的代码,发现代码有什么问题木有?发现有啥啊币送~~!


作者: 小榛鼠    时间: 2016-7-8 09:44
times是字符时会造成死循环
调用cin前先调用cin.clear()和cin.sync(),这样?

找到的一些别人的思路
http://www.cnblogs.com/pianoid/archive/2011/05/03/2035656.html
作者: 小陈_FWaWW    时间: 2016-7-8 16:09
按照规则输入就没有问题。

%3LMG3$$3LZW8$4_J9J4OEV.png (11.21 KB, 下载次数: 14)

%3LMG3$$3LZW8$4_J9J4OEV.png

作者: 李掌柜    时间: 2016-7-8 19:08
小陈_FWaWW 发表于 2016-7-8 16:09
按照规则输入就没有问题。

你输入q后,应该是结束才是
The value of times is 2.
这句不就有点莫明奇妙了么
作者: 创世菌    时间: 2017-12-24 10:13
李掌柜 发表于 2016-7-8 19:08
你输入q后,应该是结束才是
The value of times is 2.
这句不就有点莫明奇妙了么

如此简单!     

OK.png (33.48 KB, 下载次数: 13)

截图

截图

test.cpp

566 Bytes, 阅读权限: 1, 下载次数: 0

源码






欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2