2 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
cin.get()是用來讀取多余回車符號(hào)的。
保留cin.get()的時(shí)候,程序執(zhí)行流程如下:
你輸入的google+回車,被getline(cin, titles[i])讀掉,然后你輸入的10被cin >> ratings[i]讀掉,10后面的回車被cin.get()讀掉。然后正常進(jìn)入下一次循環(huán)。
去掉cin.get()之后,流程如下:
google+回車,被getline讀取。10被cin >> ratings[i]讀取。10后面的回車,被下次循環(huán)里的getline()讀取,從這里開始就出錯(cuò)了。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
void init(page *& head)
{
char c;
page * h=head;
if (null == h) {
h = new page;
head = h;
}
cout<<"輸入頁面號(hào)的引用串的序列:";
while((c=cin.get())!='\n')
{
if(c>='0'&&c<='9')
{
h->next = new page;
h = h->next;
h->i = int(c-48);
}
}
h->next = null;
return;
}
添加回答
舉報(bào)