admin 管理员组文章数量: 1184232
C++ 的字符输入
1. 使用cin输入,遇到空格后或者换行符结束一个字符数组的输入
#include<iostream>
using namespace std;
int main(){
int n = 10;
char arr[n];
cin>>arr;
for(int i = 0; i < 10; i++){
printf("%c",arr[i]);
}
cout<<endl;
cout<<"cout输出:"<<arr<<endl;
return 0;
}
效果:
由上面的结果可以看出,使用
cin
输入字符数组以回车或空格为结束标记.遇到回车表示输入结束,退出输入
使用string字符串输入也是一样
2. 使用gets获取字符串可以获取空格以一个换行符结束数组的输入
#include<iostream>
#include<string>
using namespace std;
int main(){
char a[100];
gets(a); //输入:aaa sdfjkl sdjfk
cout<<a<<endl;//输出:aaa sdfjkl sdjfk
}
效果:
注意点:gets()参数只能接收字符数组表示的字符串,不能接收string类的字符变量。
3. 使用Scanf()输入字符可以获取空格以及换行符,会将其当做一个字符并不会停止
#include<iostream>
using namespace std;
int main(){
int n = 10;
char arr[n];
for(int i = 0; i < 10; i++)
scanf("%c",&arr[i]);
// cin>>arr;
for(int i = 0; i < 10; i++){
printf("%c",arr[i]);
}
cout<<endl;
cout<<"cout输出:"<<arr<<endl;
return 0;
}
效果:
总结:
所以之后在做题的时候要注意是以什么为结尾的,要不要换行符,空格之类的选用对应的字符输入方式!
字符数组的特性字符串类同样适用!
版权声明:本文标题:避免C++输入错误:解析空格对cin的影响 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1770789334a3537607.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论