C 언어의 scanf 함수와 해당 매개변수에 대한 심층 분석
C 언어에서 scanf 함수는 사용자가 표준 입력 장치(보통 키보드) 지정한 변수에 저장합니다. 이 기사에서는 scanf 함수와 해당 매개변수에 대한 심층 분석을 제공하고 독자가 특정 코드 예제를 통해 사용법을 이해하고 숙달하는 데 도움을 줍니다.
scanf 함수의 기본 사용법은 다음과 같습니다.
int scanf(const char *format, ...);
scanf 함수는 입력 데이터의 형식을 지정하는 매개변수로 형식 문자열을 받아들인 다음 이를 읽습니다. 표준 입력 장치 데이터에서 형식에 따라 해당 변수에 저장합니다. scanf 함수의 반환 값은 데이터를 성공적으로 읽은 변수의 개수입니다. 예를 들어 변수 3개의 데이터를 성공적으로 읽었다면 반환값은 3이다.
다음은 scanf 함수를 사용하여 두 개의 정수를 읽고 합하는 방법을 보여주는 간단한 샘플 코드입니다.
#include <stdio.h> int main() { int num1, num2, sum; printf("请输入两个整数:"); scanf("%d%d", &num1, &num2); sum = num1 + num2; printf("两个整数的和为:%d ", sum); return 0; }
위 코드에서 scanf 함수의 형식 문자열 "%d%d"는 두 개의 정수 입력을 지정합니다. 체재. &
연산자를 통해 num1과 num2의 주소를 얻어서 scanf 함수에 매개변수로 전달하여 입력 정수를 이 두 변수에 저장합니다. &
运算符获取num1和num2的地址作为参数传递给scanf函数,从而将输入的整数保存到这两个变量中。
需要注意的是,scanf函数的格式化字符串中的格式控制符(如%d、%f、%c等)必须与待读取的变量类型匹配,否则会导致数据读取错误。
scanf函数的参数可以是多个,每个参数都对应一个被读取的变量。下面是几个常用的参数用法:
%d
:读取一个整数并存储到int类型变量中。%f
:读取一个浮点数并存储到float类型变量中。%c
:读取一个字符并存储到char类型变量中。%s
:读取一个字符串(不包含空白字符)并存储到字符数组中。以下是一些示例代码,演示了scanf函数参数的具体用法:
#include <stdio.h> int main() { int num; float realNum; char ch; char str[20]; printf("请输入一个整数和一个浮点数:"); scanf("%d%f", &num, &realNum); printf("整数:%d,浮点数:%f ", num, realNum); printf("请输入一个字符:"); scanf(" %c", &ch); printf("字符:%c ", ch); printf("请输入一个字符串(不包含空白字符):"); scanf("%s", str); printf("字符串:%s ", str); return 0; }
在第一个示例代码中,使用了%d
和%f
两个格式控制符,分别读取一个整数和一个浮点数。需要注意的是,这两个格式控制符中间没有空格分隔,这是因为scanf函数在遇到换行符或空白字符时会自动终止输入,所以可以连续读取多个变量。
在第二个示例代码中,由于C语言中字符数组(字符串)不能直接进行输入输出,所以需要使用%c
格式控制符读取单个字符。需要注意的是,在%c之前加上一个空格,以防止读取到上一个scanf函数留下的换行符。
最后一个示例代码演示了如何读取一个字符串,并将其存储到字符数组中。由于字符数组本身就是一个指针,所以在scanf函数中不需要使用&
%d
: 정수를 읽고 이를 int 유형 변수에 저장합니다. 🎜🎜%f
: 부동 소수점 숫자를 읽고 이를 부동 소수점 유형 변수에 저장합니다. 🎜🎜%c
: 문자를 읽고 char 유형 변수에 저장합니다. 🎜🎜%s
: 문자열(공백 문자 제외)을 읽고 문자 배열에 저장합니다. 🎜%d
및 %f두 개의 형식 제어 문자, 각각 정수와 부동 소수점 숫자를 읽습니다. 이 두 형식 제어 문자 사이에는 공백 구분이 없다는 점에 유의해야 합니다. 이는 개행 문자나 공백 문자를 만나면 scanf 함수가 자동으로 입력을 종료하므로 여러 변수를 연속적으로 읽을 수 있기 때문입니다. 🎜🎜두 번째 샘플 코드에서는 C 언어의 문자 배열(문자열)을 직접 입출력할 수 없기 때문에 단일 문자를 읽으려면 <code>%c
형식 제어 문자를 사용해야 합니다. 이전 scanf 함수가 남긴 개행 문자를 읽지 못하도록 %c 앞에 공백이 추가된다는 점에 유의해야 합니다. 🎜🎜마지막 예제 코드는 문자열을 읽고 이를 문자 배열에 저장하는 방법을 보여줍니다. 문자 배열 자체가 포인터이므로 scanf 함수에서 &amp;amp;
연산자를 사용할 필요가 없습니다. scanf 함수가 %s 형식 제어 문자를 사용하여 문자열을 읽을 때 공백 문자(예: 공백, 탭, 줄 바꿈)가 나타나면 읽기를 중지하므로 다음을 포함하지 않는 문자열만 읽을 수 있습니다. 공백 문자. 🎜위 내용은 C 언어 scanf 함수의 사용법과 매개변수에 대한 심층적인 논의의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!