字符串一直是一個重點加難點,很多筆試面試都會涉及,帶空格的字符串更是十分常見,現在對字符串的輸入問題進行一下總結。
C++用cin輸入的時候會忽略空格以後的字符,比如
char a[100]; cin>>a;
C++用cin輸入的時候會忽略空格以後的字符,輸入"hello world"輸出的是"hello";
如果用循環輸入
for(int i=0;i<100;i++) { cin>>a[i]; }
這樣輸入100個數嗎?或者定義一個n,提前知道字符有多長,讓i<n,都不是很好的方法。
這裡可以用cin.getline(a,100);解決,這個函數是默認輸入回車表示輸入結束。
下面一道例題:輸入hello world,輸出dlrow olleh,參考答案
#include<iostream> using namespace std; int main() { char a[20]; for(int i=0;i<20;i++) { a[i]='\0';} cin.getline(a,20); // cin>>a; cout << a<<endl; for(i=sizeof(a)-1;i>=0;i--) { if(a[i]!='\0') cout<<a[i]; } return 0; }