C语言scanf和printf在刷题中的注意点 (用scanf和printf替换cin和cout,加快速度)

因为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());

猜你喜欢

转载自www.cnblogs.com/FengZeng666/p/12609218.html