본문 바로가기
C 언어

c 언어[004] scanf and scanf_s : scanf_s("%s", name,10*sizeof(char)); 문자를 입력받아 출력하기

by Smart Factory in 2020 2020. 10. 3.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 

c 언어[004] scanf and  scanf_s:  scanf_s("%s", name,20*sizeof(char)); 문자를 입력받아 출력하기에 대해 알아보겠습니다. 다. c 언어에서 scanf는 상당히 많이 사용되며, scanf_s와 동일합니다. 비쥬얼 스튜디오 2019에서 헤더파일 앞에 문구하나 더 넣어서 해결할 수 있는데 어디까지나 프로그래밍 언어상의 차이이니 큰 차이는 없습니다. scanf에 대해 알아보겠습니다. 

 

1. 문자를 입력받아 출력하기 

scanf형식은 다음과 같습니다. 

물론 상황에 따라서 scanf_s 를 사용해야할 때가 있으면 header파일 앞에

#define _CRT_SECURE_NO_WARNINGS

넣어주어줘야 하기도 합니다. 

 

 


 

#include<stdio.h>

void main() {

char name[20];  ---> 배열을 사용해서 문자열을 받습니다. 처음 하시는 분들도 기본에 있는 것이니 형식만 알면 될듯합니다. 

int Grade;---> 숫자를 받기 위해서 int 

puts("이름을 입력하세요.");--->출력을 위해서 작성 

scanf_s("%s", name,20*sizeof(char)); ---> 입력 받기 위해서 이 포맷으로하면 에러가 나지 않습니다. 

puts("학년을 입력세요");---> 출력을 위해서 작성

scanf_s("%d", &Grade); ---> 숫자를 입력 받기 위한  서식 %d 와 &(ampersand)를 사용합니다. 표준 형식입니다.

printf("이름은 %s이고 학년은%d입니다. \n", name, Grade);

}

}


 

 

 


#include<stdio.h>

void main() {

char name[20];

int Grade;

 

puts("이름을 입력하세요.");

scanf("%s", name,20*sizeof(char));

puts("학년을 입력세요");

scanf("%d", &Grade);

printf("이름은 %s이고 학년은%d입니다. \n", name, Grade);

 

}

}


 

scanf에서 숫자를 받는 서식은 %d , %변수 이고, 배열받는 경우는 숫자*sizeof(char)이 꼭 들어가야 실행됩니다. 

 

 

문자를 입력받을때 숫자를 입력받을때는 & 변수를 꼭 사용합니다. 

문자열은 배열을 사용하여 합니다. 


 #define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

void main() {

char chr;

int Grade;

int class1;

puts("알파벳을 입력하세요");

scanf("%c",&chr);

puts("학년을 입력세요");

scanf("%d", &Grade);

puts("반을 입력세요");

scanf("%d", &class1);

printf("%c %d학년 %d반입니다. \n", chr,Grade,class1);

}

 


 

728x90
반응형

댓글