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这些输入输出较快