[原创]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;
}

 

posted @ 2016-04-17 14:53  LibraSun  阅读(2998)  评论(0编辑  收藏  举报