以下三种是c语言中输入输出的函数的总结,都以头文件#include,来调用
1.scanf()和printf()
scanf()输入函数,格式如scanf("%d",&a);printf()输出函数,格式如printf("%d",a);。这个是最基础的输入输出函数。scanf() 函数用于从标准输入(键盘)读取并格式化, printf() 函数发送格式化输出到标准输出(屏幕), scanf()和printf()是格式化输入通过%d,%s,%c等限定输入/输出的类型及格式,因此书写需要格外注意格式和类型,scanf()后面的变量需要取变量的地址。同时,这里面有一个特殊的,为了是程序更加安全,健壮,一般用scanf_s()代替旧版scanf()函数。
但是,scanf_s()一般用于读取字符串,用时必须提供一个数字以表明最多读取多少位字符,以防止溢出,这样的话会更加安全。
举个例子:scanf_s("%s",&name,n),整形n为name类型的大小,如果name是数组,那n就是该数组的大小。这里必须要有n,以表明最多读取n个字符,如果写成scanf_s("%s",&name),程序将无法执行到底,且编译器会提示“Unhandled
exception at 0xfefefefe in array.exe:0xC0000005: Access tion.”
。当然在安全性要求不高的情况下,不 一定非要用scanf_s()函数,可用scanf("%s",&name)代替。
2.getchar()和putchar()
getchar()输入函数,putchar()输出函数,是单个字符输入/输出函数。getchar有一个int型的返回值。当程序调用getchar时.程序就等着用户按键。意思是:当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。
举个例子:当我们调用ASCII码时,需要从键盘输入一个字符,就可以用它。
char a;
a=getchar();//直接用同时,这里有一个特殊的,它是getch(),这个在一般学习编程中不用,它是直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch()就立刻返回,通常应用在游戏中
3.gets()和puts()
gets()输入函数,puts()输出函数,gets()字符串专用,从键盘直接输入字符串,无限输入,不需要数目的预知,与通过for()循环,利用scanf()一个一个输入相比,gets()更加方便,安全。puts()也是字符串专用。
举个例子:char a[N];//这里N我们利用宏参数定义为100
gets(a);
这时就可以直接从键盘往数组内存中输入数据。同时,这里有一个特殊的,它是fgets()。考虑到gets() 有一个非常大的缺陷,即它不检查预留存储区是否能够容纳实际输入的数据,换句话说,如果输入的字符数目大于数组的长度,gets 无法检测到这个问题,就会发生内存越界,所以编程时建议使用 fgets()。
fegts()有三个参数第一个是存储地址,第二个是单元限制,第三个何种流。
举个例子:fgets(a,N,stdin);意思是,往a这个数组中,通过标注输入流stdin(即从键盘上输入), 最多输入N个字符。
以上三种,就是c语言中的输入输出函数,还有问题吗,谢谢采纳,Thanks♪(・ω・)ノ