博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++ 之输入输出
阅读量:5361 次
发布时间:2019-06-15

本文共 1162 字,大约阅读时间需要 3 分钟。

因为C++向下兼容C,所以有多种输入输出的方式,cin/cout十分简洁,但个人觉得不如scanf/printf来的强大,而且在做算法题时,后者运行速度也快些。

scanf/printf

#include
int main() { int n; float a,b scanf("%d", &n); scanf("%f/%f", &p,&q); //支持类似的输入 printf("%05d", n); //不足位补0 printf("%.5f", a); //保留小数位}

sscanf/sprintf

这两个函数并不是用于输入输出,而是类似于string+sacnf/printf,是为了处理字符串问题而生的,将字符串转换为任意类型,或是将任意类型转换为字符串

#include
int main() { int n; char str1[100] = "123"; sscanf(str1, "%d", &n); // sscanf的作用是将str1里的内容以%d的格式输入到n中 int a; double b; char s1[100]="hello:3.14,2048",s2[100]; sscanf(s1, "%s:%lf,%d", s2, &b, &a); // 复杂的格式转化 int m=123; char str2[100]; sprintf(str2, "%d", m); // sprintf的作用是将n中的内容以%d格式输出到str2中 int x=10; double y=20.10; char s3[100],s4[100]="hello word"; sprintf(s3, "%s:%d:%lf", s4, x, y); printf("%d %s %lf %d %s %s %s", n,s2,b,a,str2,s2);}

输出123 hello 3.14 2048 123 hello word:10:20.10

getchar/putchar

这两个函数分别接收和输出一个字符,包括空格和换行符"\n"

用这个函数循环输入到字符数组中时,不会自动向数组末尾加"\0",这个字符的意义是结束符,想用printf函数输出时,没有这个结束符就会输出乱码,因此要手动向结尾加"\0",这也是申明字符数组时总要至少多一个空间的原因。

gets/puts

直接接收字符串,以空格或者换行符作为结束符

转载于:https://www.cnblogs.com/authetic/p/9460152.html

你可能感兴趣的文章
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
linux的子进程调用exec( )系列函数
查看>>
MySQLdb & pymsql
查看>>
zju 2744 回文字符 hdu 1544
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>
前端笔记-bom
查看>>
上海淮海中路上苹果旗舰店门口欲砸一台IMAC电脑维权
查看>>
Google透露Android Market恶意程序扫描服务
查看>>
给mysql数据库字段值拼接前缀或后缀。 concat()函数
查看>>
迷宫问题
查看>>
【FZSZ2017暑假提高组Day9】猜数游戏(number)
查看>>
泛型子类_属性类型_重写方法类型
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
Code Snippet
查看>>
zoj 1232 Adventure of Super Mario
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
Redis常用命令
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>