cin.getline函數(shù)的輸入問題
為什么使用cin.getline函數(shù)跳過對Arrstr[0]輸入,,從Arrstr[1]才開始輸入?!局鹁湔{(diào)試發(fā)現(xiàn)的,,麻煩大佬解答,,謝謝,!】#include<iostream>#include<string.h>using namespace std;int main(){char Arrstr[10][100] = { 0 }, Arrmid[10] [2] = {0};int n,i,len;cin >> n;for (i = 0;i < n;i++){cin.getline(Arrstr[i], 100);len = strlen(Arrstr[i]);}return 0;}
很簡單的問題,,你的cin >> n;執(zhí)行完成后,在輸入緩沖中會暫留,這樣第一個cin.getline(Arrstr[i], 100);得到的是一個空行(不是沒有輸入,,而是接收到上一次輸入留下的)
解決:
在
cin >> n;
后面加
while(getchar()!='');
相關(guān)推薦
便查問答是一款實用的網(wǎng)絡(luò)熱門知識問答平臺,,專注于分享你不知道的知識,、經(jīng)驗及生活問題,在這里所有人都能找到答案歡迎網(wǎng)友參與討論,。