如何高效解决C语言中包含空格的字符串输入问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计534个文字,预计阅读时间需要3分钟。
前言:字符串一是编程中一个重点且难点,很多笔试面试都会涉及。带空格的字符串更常见,下面进行一下总结。
现在对字符串的输入问题进行一下总结:
1.C++使用cin输入时,会忽略空格后的字符,例如Hello World,输入后cin会读取到Hello。
2.解决方法:
- 使用getline函数读取整行输入,包括空格。 - 使用scanf函数,指定读取格式,如%[^\n]读取一行直到换行符。总结:字符串输入问题在编程中很常见,需要注意cin的读取方式,以及使用getline和scanf等函数读取整行输入。
前言
字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结。
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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对自由互联的支持。
本文共计534个文字,预计阅读时间需要3分钟。
前言:字符串一是编程中一个重点且难点,很多笔试面试都会涉及。带空格的字符串更常见,下面进行一下总结。
现在对字符串的输入问题进行一下总结:
1.C++使用cin输入时,会忽略空格后的字符,例如Hello World,输入后cin会读取到Hello。
2.解决方法:
- 使用getline函数读取整行输入,包括空格。 - 使用scanf函数,指定读取格式,如%[^\n]读取一行直到换行符。总结:字符串输入问题在编程中很常见,需要注意cin的读取方式,以及使用getline和scanf等函数读取整行输入。
前言
字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结。
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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对自由互联的支持。

