所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输入相关的函数,都需要包含这个头文件
这是一个获取输入字符串的函数,其定义如下文,作用是从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。 代码如下文 这是一个获取输入字符的函数,其定义如下文,作用是从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。 代码如下文 这是一个获取输入特定数据类型的函数,其定义如下文,函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。 代码如下文 所有的输出都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输出相关的函数,都需要包含这个头文件 函数把字符串 s 和一个尾随的换行符写入到 stdout。 在试验gets中试验过了puts 函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环内使用这个方法,以便在屏幕上输出多个字符。 在试验getchar中试验过了putchar 函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。 在试验scanf中试验过了printf#include <stdio.h>
输入函数gets
char * gets(char * string){...}
试验gets
#include <stdio.h>
#define BANNER "Please input:"
int main(void){
char string[100];
printf(BANNER);
gets(string);
puts(string);
return 0;
}
很简单,但是不推荐,因为gets是不安全的,他可以输入任意长度的字符,可以覆盖超过变量定义支持的长度,缓冲区溢出风险大。输入函数getchar
int getchar(void){...}
试验getchar
#include <stdio.h>
#define BANNER "Please input:"
int main(void){
char string;
printf(BANNER);
string = getchar();
putchar(string);
return 0;
}
不推荐,因为获取多个字符输入会很麻烦。输入函数scanf
int scanf(const char *format, ...){}
试验scanf
#include <stdio.h>
#define BANNER "Please input:"
int main(void){
char input_char;
int input_int;
char input_string[100];
float input_float;
double input_double;
printf(BANNER);
scanf("%d", &input_int);
printf("%d\n", input_int);
printf(BANNER);
scanf("%c", &input_char);
printf("%c\n", input_char);
printf(BANNER);
scanf("%s", input_string);//这里只能是数组,因为如果是char *,则不知道大小,会发生段错误,这里使用&input_string 效果一样,但是会有warning,不推荐,
printf("%s\n",input_string);
printf(BANNER);
scanf("%f", &input_float);
printf("%f\n", input_float);
printf(BANNER);
scanf("%lf", &input_double);
printf("%lf\n", input_double);
return 0;
}
#include <stdio.h>
输出函数puts
int puts(const char *s){...}
试验puts
输出函数putchar
int putchar(int c){...}
试验putchar
输出函数printf
int printf(const char *format, ...){...}
试验printf
数据格式类型
输入输出的类型标识符
十进制整数
%d
字符型
%c
整数
%i
浮点数
%e, %f, %g
八进制数
%o
字符串
%s
十六进制书
%x
指针
%p
一个等于读取字符数量的整数
%n
一个无符号整数
%u