C++中带空格字符串的输入问题解决
时间:2021-08-07 08:44:32|栏目:C代码|点击: 次
前言
字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结。
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; }
总结