📌 printf()로 출력
#include <stdio.h>
int main(void) {
int add = 3 + 7;
printf("3 + 7 = %d\\n", add);
printf("%d + %d = %d\\n", 1, 2, 3 + 4);
printf("%d x %d = %d\\n", 1, 2, 3 * 4);
return 0;
}
//실행결과 3+7=10 1+2=7 1x2=12
- %d 즉 정수형 값을 3번 받겠다는 의미
- 쉼 표 뒤에 있는 값이 순서대로 들어감
- 곱하기도 가넝
📌 scanf()로 입력받기
더보기
⚠️ scanf( )와 scanf_s( )
기본 표준 입력 명령어는 scanf( ) 하지만 scanf( ) 함수를 사용하면 입력크기에 제한이 없어서 지정된 크기보다 더 많은 양을 입력 받는 버퍼 오버플로라는 메모리 문제가 발생할 수 있음. scanf_s( ) 는 이 점을 보완해 함수가 입력값의 크기를 지정함.
숫자 입력받기
#include <stdio.h>
int main(void) {
int input;
printf("값을 입력하세요: \\n");
scanf_s("%d", &input);
printf("입력값 : %d\\n", input);
return 0;
}
//실행 결과 -> 값을 입력하세요: 2000 입력값 2000
- scanf_s( ) : 서식지정자 %d는 정수형 값을 입력받겠다는 의미, 쉼표 뒤에는 입력받은 값을 저장할 위치를 넣음.
- &input : &는 메모리의 주소를 나타낼 때 사용함. 즉 &input은 입력값을 저장할 위치
문자형 변수로 입력받기
문자는 ‘문자’와 ‘문자열’로 나뉨
문자: 한 글자
문자열: 여러 문자의 모임
char 변수명 = '값';
- 문자형 변수를 선언할 때는 char라는 자료형을 씀.
- 값이 문자일 때는 ‘’ 작은따옴표 사용.
문자 출력
#include <stdio.h>
int main(void) {
char c = 'A';
printf("%c\\n", c);
return 0;
}
//실행결과 -> A
문자열 출력
#include <stdio.h>
int main(void) {
char str[256];
scanf_s("%s", str, sizeof(str));
printf("%s\\n", str);
return 0;
}
//실행결과 -> (입력텍스트) ( 입력텍스트) -> 입력텍스트 그대로 출력
- str[256] : c와 같은 문자형 변수 256개를 연속으로 만든다는 의미.
- %s : 문자열을 입력받거나 출력할 때 사용하는 서식 지정자
- 배열일 때는 & 표시 없이 변수명(str)만 작성
sizeof(변수명/배열명/자료형)
- scanf_s( )로 문자열을 입력받으려면 크기를 명시해야 함. (scanf()와 차이)
- str은 256개의 공간이기 때문에 256개보다 더 큰 문자가 들어오면 문제가 발생함.
- 그래서 sizeof 연산자를 써서 str 256개 이내의 문자만 받겠다고 알려줘야함.
더보기
⚠️ scanf_s( ) 함수의 경고 메세지
unsigned int가 필요하다는 경고 메세지가 나옴. sizeof 연산자로 알아낸 변수 크기에 해당하는 값의 형태(unsigned_int64)가 기대한 것(unsignedint)과 다르다는 뜻. 경고 나와도 프로그램 동작에는 문제 없음.
경고를 없애고 싶다면 2가지 방법 scanf_s("%s", str, (unsigned int) sizeof(str)); // 형변환 scanf_s("%s", str, 256); // 문자형 변수 크기 직접 입력
💡 문자열 2개를 입력받아 출력하는 코드를 작성해보세요.
#include <stdio.h>
int main(void) {
char str1[256], str2[256];
printf("첫번쨰 입력하쇼");
scanf_s("%s", str1, sizeof(str1));
printf("두번쨰 입력하쇼");
scanf_s("%s", str2, sizeof(str2));
printf("첫번쨰 %s\n", str1);
printf("두번쨰 %s\n", str2);
return 0;
}
'언어 > C' 카테고리의 다른 글
[코딩자율학습] 5일차 이중 반복문 (0) | 2024.03.08 |
---|---|
[코딩자율학습] 4일차 반복문의 종류 (1) | 2024.03.07 |
[코딩자율학습] 2일차 변수와 상수 (1) | 2024.03.05 |
[코딩자율학습] 1일차 C프로그램 작성 (0) | 2024.03.04 |
코딩자율학습단 7기 신청 (1) | 2024.02.28 |