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

 

scanf、printf比cin、cout速度要快,而且很多时候使用cin会超时,但scanf不会超时,建议以后都用scanf处理输入,printf处理输出。

 

记住以下4点建议:

1. scanf读入double类型只能用%lf,读入float类型只能用%f

2. printf对于double和float都只能用%f,因为printf没有%lf (可能有些系统允许,但是最好坚持使用%f)

3. printf输出string类型要用%s,而且必须使用c_str()将string转为const char*再输出

printf("%s\n", a.c_str());

4. 对于string类型,用下述方法输入:先读取char[], 再把char[]转成string。

scanf中的%s遇到空格或者换行就会停止读取,读取之后的strlen(s)和str.length()也是相等的,不会出现问题。

复制代码
// 方法一
int t;
char s[15];
scanf("%s%d", s, &t);  
string str(s);  //使用构造函数


// 方法二
int t;
char s[15];
scanf("%s%d", s, &t);
string str;   
str.assign(s);  //使用assign成员函数
复制代码

 

posted @   拾月凄辰  阅读(732)  评论(1编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示
主题色彩