String 类型与char 类型 输入

1.如果直接用csanf 输入string与char类型的,string是输入不了的

但提前申请空间就可以

#include <stdio.h>
#include <string>
#include<iostream>
using namespace std;
int main()
{
string a;
a.resize(2); //需要预先分配空间,resize()分配空间
scanf("%s", &a[0]);
cout << a;
return 0;
}

当前空间只有2个,所以答案是“he”,那么注意分配空间

2.如果用cin就不会出现这种情况,需要注意的是char只能一个一个输入,而string类型的可以输入一窜字符;而在scanf中都可以输入一窜字符

但cin的速度有点慢,而scanf,printf这些输入输出较快

转:https://www.cnblogs.com/Youio-bolg/p/11219185.html

猜你喜欢

转载自www.cnblogs.com/sggggr/p/12336284.html