因为scanf、printf比cin、cout速度要快,而且很多时候使用cin会超时,但scanf不会超时,建议以后都用scanf处理输入,所以这里要搞清楚scanf的用法:
1. scanf读入double类型只能用%lf,读入float类型只能用%f
2. printf对于double和float都只能用%f,因为printf没有%lf (可能有些系统允许,但是最好坚持使用%f)
3. scanf读入string类型要用%s,而且必须要预先分配空间,否则会出现运行时错误
string a; a.resize(100); //需要预先分配空间 scanf("%s", &a[0]);
4. printf输出string类型要用%s,而且必须使用c_str()将string转为const char*再输出
printf("%s\n", a.c_str());
C语言scanf和printf在刷题中的注意点 (用scanf和printf替换cin和cout,加快速度)
原文:https://www.cnblogs.com/FengZeng666/p/12609218.html