c언어 scanf 문자열 입출력


c언어 scanf 문자열 입출력

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { char s1[10]; printf("문자열을 입력하세요: "); scanf("%s", s1); printf("%s\n", s1); return 0; } c언어 문자열 입출력을 할 때 scanf를 이용하면 위에 처럼 하면 된다. 그런데 scanf는 보안상 결함이 있기 때문에 오류가 나는데 이를 방지하기 위해 #define을 추가해준 것이다. 이렇게 하면 문자열 입출력이 잘 된다, 한가지 유의할 점은 char은 배열이기 때문에 scanf에서 s1을 쓸 때 &연산자를 붙이지 않는다는 점이다. 만약 그냥 int형 숫자였다면 &을 붙여야 했을 것이다. 한 가지 더, scanf는 보안상 결함이 있기 때문에 scanf_s의 사용을 권장한다. 그런데 scanf_s는 문자열 입력 받을 때 위에랑 똑같이 하면 안 된다. 찾아보니 문자열의 길이가 인자로 더 필요했다. 그러니까 만약 위의 ...


#c #c언어 #define을 #scanf #scanf_s #문자열입출력

원문링크 : c언어 scanf 문자열 입출력