>  기사  >  백엔드 개발  >  C 언어 scanf 함수의 사용법과 매개변수에 대한 심층적인 논의

C 언어 scanf 함수의 사용법과 매개변수에 대한 심층적인 논의

王林
王林원래의
2024-02-19 22:00:09746검색

C 언어 scanf 함수의 사용법과 매개변수에 대한 심층적인 논의

C 언어의 scanf 함수와 해당 매개변수에 대한 심층 분석

C 언어에서 scanf 함수는 사용자가 표준 입력 장치(보통 키보드) 지정한 변수에 저장합니다. 이 기사에서는 scanf 함수와 해당 매개변수에 대한 심층 분석을 제공하고 독자가 특정 코드 예제를 통해 사용법을 이해하고 숙달하는 데 도움을 줍니다.

  1. 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等)必须与待读取的变量类型匹配,否则会导致数据读取错误。

  1. scanf函数参数的详解

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函数中不需要使用&

scanf 함수의 형식 문자열에 있는 형식 제어 문자(예: %d, %f, %c 등)는 읽을 변수의 유형과 일치해야 합니다. 그렇지 않으면 데이터가 발생합니다. 읽기 오류. 🎜
    🎜scanf 함수 매개변수에 대한 자세한 설명🎜🎜🎜scanf 함수는 여러 개의 매개변수를 가질 수 있으며, 각 매개변수는 읽어야 할 변수에 해당합니다. 다음은 일반적으로 사용되는 몇 가지 매개변수 사용법입니다: 🎜
    🎜%d: 정수를 읽고 이를 int 유형 변수에 저장합니다. 🎜🎜%f: 부동 소수점 숫자를 읽고 이를 부동 소수점 유형 변수에 저장합니다. 🎜🎜%c: 문자를 읽고 char 유형 변수에 저장합니다. 🎜🎜%s: 문자열(공백 문자 제외)을 읽고 문자 배열에 저장합니다. 🎜
🎜다음은 scanf 함수 매개변수의 구체적인 사용법을 보여주는 일부 샘플 코드입니다. 🎜rrreee🎜첫 번째 샘플 코드에서는 %d%f두 개의 형식 제어 문자, 각각 정수와 부동 소수점 숫자를 읽습니다. 이 두 형식 제어 문자 사이에는 공백 구분이 없다는 점에 유의해야 합니다. 이는 개행 문자나 공백 문자를 만나면 scanf 함수가 자동으로 입력을 종료하므로 여러 변수를 연속적으로 읽을 수 있기 때문입니다. 🎜🎜두 번째 샘플 코드에서는 C 언어의 문자 배열(문자열)을 직접 입출력할 수 없기 때문에 단일 문자를 읽으려면 <code>%c 형식 제어 문자를 사용해야 합니다. 이전 scanf 함수가 남긴 개행 문자를 읽지 못하도록 %c 앞에 공백이 추가된다는 점에 유의해야 합니다. 🎜🎜마지막 예제 코드는 문자열을 읽고 이를 문자 배열에 저장하는 방법을 보여줍니다. 문자 배열 자체가 포인터이므로 scanf 함수에서 & 연산자를 사용할 필요가 없습니다. scanf 함수가 %s 형식 제어 문자를 사용하여 문자열을 읽을 때 공백 문자(예: 공백, 탭, 줄 바꿈)가 나타나면 읽기를 중지하므로 다음을 포함하지 않는 문자열만 읽을 수 있습니다. 공백 문자. 🎜

위 내용은 C 언어 scanf 함수의 사용법과 매개변수에 대한 심층적인 논의의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.