注册 登录
编程论坛 C++教室

为什么数组输出的都是烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫

新人学习 发布于 2018-01-16 18:08, 1473 次点击
#include<iostream>
#include"golf.h"
using namespace std;
int main()
{
    char ar[Len];
    int value,i=0;
    golf argo[Len];
    do{
        cout << "输入字符串:\n";
        cin.get(ar,Len+1);
        cin.clear();
        cin.sync();

        cout << "输入int类型value:";
        while (!(cin >> value))
        {
            cin.clear();
            cin.sync();
            cout << "输入错误,请输入正确的值:";
        }
        cin.get();
        setgolf(argo[i], ar, value);

        if (argo[i].fullname[0] == '\0')
            cout << "因用户没有输入字符串,所以程序输入结束\n";
        handicap(argo[i], i);         //输出字符串
        i++;
    } while (i < Len && argo[i-1].fullname[0] != '\0');

    system("pause");
    return 0;
}
3 回复
#2
新人学习2018-01-16 18:49
看来每天都不能把学习拉下
确实是自己的疏忽
以前就学过的东西都忘了
缺少了一个'\0'
#3
rjsp2018-01-16 23:03
cin.sync() 这种用法跟 fflush(stdin) 一样……
我不是在批评楼主,我是在批评教你这种用法的人
C中这样错用,跑到C++中竟然也能找到同样的错法,真是专情
#4
Knocker2018-01-17 18:40
以下是引用rjsp在2018-1-16 23:03:56的发言:

cin.sync() 这种用法跟 fflush(stdin) 一样……
我不是在批评楼主,我是在批评教你这种用法的人
C中这样错用,跑到C++中竟然也能找到同样的错法,真是专情

不是我教的
1