"C언어 입력"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
5번째 줄: 5번째 줄:


==scanf==
==scanf==
<source lang="bash">
<syntaxhighlight lang="bash">
scanf("서식 문자열", &변수 [,&변수,...]);
scanf("서식 문자열", &변수 [,&변수,...]);
</source>
</syntaxhighlight>
* [[화이트스페이스 문자]]를 만나면 거기까지만 입력 받고 더이상 받지 않음 (주로 공백, 탭, 줄바꿈)
* [[화이트스페이스 문자]]를 만나면 거기까지만 입력 받고 더이상 받지 않음 (주로 공백, 탭, 줄바꿈)
* 서식문자와 매칭이 되어야만 입력으로 받아 들임. 즉, '%c'는 문자, '%d'는 숫자로 매칭이 되어야 함
* 서식문자와 매칭이 되어야만 입력으로 받아 들임. 즉, '%c'는 문자, '%d'는 숫자로 매칭이 되어야 함
28번째 줄: 28번째 줄:


==숫자 입력 받기==
==숫자 입력 받기==
<source lang="C">
<syntaxhighlight lang="C">
#include <stdio.h>
#include <stdio.h>


39번째 줄: 39번째 줄:
     printf("%d", a);
     printf("%d", a);
}
}
</source>
</syntaxhighlight>
:→ 변수 a에 숫자를 입력 받아 그 값을 출력해줌
:→ 변수 a에 숫자를 입력 받아 그 값을 출력해줌


==숫자 2개 입력 받기==
==숫자 2개 입력 받기==
<source lang="C">
<syntaxhighlight lang="C">
#include <stdio.h>
#include <stdio.h>


54번째 줄: 54번째 줄:
     printf("%d, %d", a, b);
     printf("%d, %d", a, b);
}
}
</source>
</syntaxhighlight>


==문자 입력==
==문자 입력==
<source lang="C">
<syntaxhighlight lang="C">
#include <stdio.h>
#include <stdio.h>


69번째 줄: 69번째 줄:
     printf("Output : %c\n", a);
     printf("Output : %c\n", a);
}
}
</source>
</syntaxhighlight>
* 실행
* 실행
<source lang="console">
<syntaxhighlight lang="console">
john@zetawiki:/john/C$ ./a.out
john@zetawiki:/john/C$ ./a.out
Input : a
Input : a
Output : a
Output : a
</source>
</syntaxhighlight>


==문자열 입력==
==문자열 입력==
<source lang="C">
<syntaxhighlight lang="C">
#include <stdio.h>
#include <stdio.h>


89번째 줄: 89번째 줄:
     printf("Output : %s\n", str);
     printf("Output : %s\n", str);
}
}
</source>
</syntaxhighlight>
* 실행
* 실행
<source lang="console">
<syntaxhighlight lang="console">
john@zetawiki:/john/C$ ./a.out
john@zetawiki:/john/C$ ./a.out
Hello!
Hello!
Output : Hello!
Output : Hello!
</source>
</syntaxhighlight>


==화이트 스페이스==
==화이트 스페이스==
* scarf()는 화이트 스페이스까지만 입력을 받음�
* scarf()는 화이트 스페이스까지만 입력을 받음�
<source lang='console'>
<syntaxhighlight lang='console'>
john@zetawiki:/john/C$ ./a.out  
john@zetawiki:/john/C$ ./a.out  
My name is John.
My name is John.
My
My
name
name
</source>
</syntaxhighlight>
:→'My'다음에 탭이 있어 배열 a에 'My'값이 들어가며 'name'다음에 공백이 있어 배열 b에 'name'이 들어가게됨
:→'My'다음에 탭이 있어 배열 a에 'My'값이 들어가며 'name'다음에 공백이 있어 배열 b에 'name'이 들어가게됨



2020년 11월 2일 (월) 02:41 기준 최신판

1 개념[ | ]

C언어 입력 방법
  • C언어 표준 입력 함수인 scanf()를 통하여 입력 받음

※ printf() 의 반대

2 scanf[ | ]

scanf("서식 문자열", &변수 [,&변수,...]);
  • 화이트스페이스 문자를 만나면 거기까지만 입력 받고 더이상 받지 않음 (주로 공백, 탭, 줄바꿈)
  • 서식문자와 매칭이 되어야만 입력으로 받아 들임. 즉, '%c'는 문자, '%d'는 숫자로 매칭이 되어야 함
  • 매칭이 되는 문자나 숫자를 받으면 1을 돌려주고, 매칭이 되지 않으면 0을 돌려줌. 에러 발생시 EOF(-1)를 돌려줌

3 서식 문자열[ | ]

서식 문자 내용
%d 정수
%f 실수(float)
%lf 실수(double)
%c 문자
%s 문자열

4 숫자 입력 받기[ | ]

#include <stdio.h>

void main()
{
    int a;

    scanf("%d", &a);

    printf("%d", a);
}
→ 변수 a에 숫자를 입력 받아 그 값을 출력해줌

5 숫자 2개 입력 받기[ | ]

#include <stdio.h>

void main()
{
    int a, b;

    scanf("%d%d", &a, &b);

    printf("%d, %d", a, b);
}

6 문자 입력[ | ]

#include <stdio.h>

void main()
{
    char a;

    printf("Input : ");
    scanf("%c", &a);

    printf("Output : %c\n", a);
}
  • 실행
john@zetawiki:/john/C$ ./a.out
Input : a
Output : a

7 문자열 입력[ | ]

#include <stdio.h>

void main()
{
    char str[256];

    scanf("%s", &str[0]);

    printf("Output : %s\n", str);
}
  • 실행
john@zetawiki:/john/C$ ./a.out
Hello!
Output : Hello!

8 화이트 스페이스[ | ]

  • scarf()는 화이트 스페이스까지만 입력을 받음�
john@zetawiki:/john/C$ ./a.out 
My	name is John.
My
name
→'My'다음에 탭이 있어 배열 a에 'My'값이 들어가며 'name'다음에 공백이 있어 배열 b에 'name'이 들어가게됨

9 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}