前言
本文旨在记录我在学习c语言过程中遇到的问题,分析并提高学习的效果,如果有不对的地方,欢迎指证。
文中部分内容参考GPT,在此感谢ppword的支持,有了它就再也不用去找大神帮忙了。
在C语言中,有多个函数可以从控制台接收输入的信息。以下是其中几个常用的函数,以及它们的实现原理和参数的含义:
scanf
int scanf(const char *format, ...);
scanf函数是一个通用的输入函数,可以根据指定的格式字符串从控制台读取输入,并将读取到的数据存储到相应的变量中。它根据格式字符串来解析输入,并根据变量的类型来选择读取的方式。
参数
- format:格式字符串,指定了要读取的数据的格式和类型。
- …:变量参数列表,用于接收读取到的数据。
功能解析
- 根据格式字符串中的格式指示符,scanf读取输入并解析为对应的数据类型。
- scanf从输入流中一次读取一个字符,并逐个匹配格式指示符中的字符,直到匹配失败或读取完全部指示符。
- 匹配成功的字符会被解析为对应的数据类型,并存储在相应的变量中。
说明
-
当遇到格式指示符时,scanf会尝试从输入中读取数据。它会跳过任何空格或换行符,并尝试将符合指示符要求的字符序列解析为相应的数据类型。如果解析成功,则将数据存储到相应的变量中;否则,格式字符串后面的匹配将会中断。
-
在这个例子中,scanf会读取一个整数,然后跳过一个字符(可能是空格或换行符),最后读取另一个整数。如果输入不符合指定的格式,则匹配将中断,并且未匹配的部分将留在输入缓冲区中。
实例
下面是一个示例代码,演示了scanf函数的使用:
#include <stdio.h>
int main() {
int num1, num2;
char ch;
printf(