字符串一直是一個重點加難點,很多筆試面試都會涉及,帶空格的字符串更是十分常見,現在對字符串的輸入問題進行一下總結。
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;
}