반응형
Visual Studio에서는 scanf가 보안상의 이유로 사용이 안된다.
그 대신 scanf_s를 사용하면 예전 scanf처럼 입력이 가능하다.
1. 데이터 입력
-> 정수 입력 %d의 경우 입력변수에 & 붙이기
#include<stdio.h>
int main(void) {
int a=0; //먼저 정수형 a를 초기화해준다.
scanf_s("%d", &a); //여기서 변수 a에 값을 입력한다.
printf("입력한 값 : %d\n", a); //입력한 값 출력
//주의 scanf_s에는 \n을 쓸수 없다.
return 0;
}
2. 연속 입력하는 법
#include<stdio.h>
int main(void) {
int age;
float height;
printf("나이와 키를 입력하세요 : \n");
scanf_s("%d%f", &age, &height); //나이와 키를 입력 값을 받을 때는 &를 사용한다.
//연속입력은 입력할 때 space, tab, newline등으로 구분한다.
printf("나이는 %d살이고 키는 %.1fcm이다.", age, height);
return 0;
}
3. 문자, 문자열 입력
문자와 문자열의 경우 인자가 3개가 필요하다.(세번째 인수 sizeof가 필요하다)
sizeof는 자료형의 크기를 구할 수 있다.
#include<stdio.h>
int main(void) {
char grade; //학점을 입력할 변수
char name[20]; //이름을 입력할 배열
//문자와 문자열의 경우는 scanf_s()의 인수는 3개이다. 정수나 실수는 2개면 된다.
printf("학점 입력 : \n");
scanf_s("%c", &grade, sizeof(grade)); //%c의 경우 &를 사용해야 한다.
printf("이름 입력 : \n");
scanf_s("%s", name, sizeof(name)); //%s의 경우 &를 사용하지 않아도된다.
printf("%s의 학점은 %c입니다.\n", name, grade);
return 0;
}
반응형
'C언어' 카테고리의 다른 글
C언어 기초- 조건문(if, else-if,else) (0) | 2023.03.04 |
---|---|
C언어 기초- 변수(속성, 주소, 값, 이름, Const, 예약어) (0) | 2023.03.03 |
C언어 기초 - 자료형(데이터 타입 및 자료형 크기) (0) | 2023.03.03 |
C언어 기초- 연산자, 연산자 우선순위 (0) | 2023.03.03 |
C언어 기초-printf(문자열 출력, 제어문자 출력, 정수 실수 출력, 문자 문자열 출력) (0) | 2023.03.02 |
댓글