c 语言提供多种表达式输入方式:scanf 函数:从标准输入读取数据,指定格式说明符。fscanf 函数:从文件中读取数据,指定文件指针和格式说明符。getchar 函数:每次从标准输入读取一个字符。gets 函数:从标准输入读取一行字符并存储在字符串中。
C 语言表达式输入
在 C 语言中,表达式输入可以通过以下方式实现:
1. scanf 函数
scanf 函数用于从标准输入读取数据,其原型如下:
int scanf(const char *format, ...);
其中:
- format 指定输入格式,通常使用 "%d"(整数)、"%f"(浮点数)和 "%s"(字符串)等格式说明符。
- ... 表示可变数量的参数,指向要读取数据的变量。
例如,读取一个整数和一个浮点数:
int num;
float fnum;
scanf("%d %f", &num, &fnum);
2. fscanf 函数
fscanf 函数类似于 scanf,但用于从文件读取数据。其原型如下:
int fscanf(FILE *stream, const char *format, ...);
其中:
- stream 指向要读取数据的文件。
- format 和 ... 与 scanf 相同。
例如,从文件读取一个整数和一个浮点数:
FILE *fp = fopen("data.txt", "r");
int num;
float fnum;
fscanf(fp, "%d %f", &num, &fnum);
3. getchar 函数
getchar 函数每次从标准输入读取一个字符。其原型如下:
int getchar(void);
例如,逐个字符读取字符串:
char str[100];
int i = 0;
char ch;
while ((ch = getchar()) != 'n') {
str[i++] = ch;
}
4. gets 函数
gets 函数从标准输入读取一行字符并存储在字符串中。其原型如下:
char *gets(char *str);
其中:
- str 指向要存储读取数据的字符串。
注意事项:
- 输入值必须与格式说明符匹配,否则程序可能会导致异常。
- 使用 gets 函数时,要确保字符串有足够的空间容纳输入数据,避免缓冲区溢出。