本题中不能简单地使用 getline 判断回车。本题中的换行符既有 \r 又有 \n,所以应这么写:
getline
\r
\n
for(int i=0;i<x;i++){ c=getchar(); if(c<32||c>126){ i--; continue; } //do something... }