정수 타입
문제 규모에 따라 int로 부족한 합은 long long을 검토합니다.
long long sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i];
}
배열
int a[100];
int n = 3;
a[0] = 1; a[1] = 2; a[2] = 3;
길이를 넘기면 미정의 동작입니다.
동적 할당(malloc)은 실험에서 필요할 때만, 해제를 잊지 마세요.
문자열
C 문자열은 char[] + \0. strlen, strcmp는 <string.h>.
컴파일 오류를 읽기
실험장 메시지를 위에서부터 고칩니다.
한 오류가 연쇄로 이어지는 경우가 많습니다.
배열과 포인터 감각
a[i]는 사실 *(a+i)와 같습니다.
실험 단계에서는 고정 크기 배열 + 길이 변수 n만으로도 충분합니다.
#define MAXN 1000
int a[MAXN];
입력이 MAXN을 넘을 수 있으면 먼저 검증하세요.
for 루프
for (int i = 0; i < n; i++) {
sum += a[i];
}
C99 이상에서 for 안 int i 선언이 가능합니다. 컴파일 옵션에 따라 다를 수 있으니 오류가 나면 루프 밖으로 빼세요.
문자열 버퍼
char buf[256];
fgets(buf, sizeof buf, stdin);
gets는 쓰지 마세요. 버퍼 오버플로 위험이 큽니다.
실험장에서 할 일
- 정수 N개 합
- 문자열 길이 출력
- 두 배열 원소를 맞교환하는 함수
채점 문제 목록에는 아직 C가 없을 수 있습니다. 문법을 익히는 용도입니다.
연습
고정 길이 배열에 1..n을 채운 뒤 합을 printf로 확인하세요. 길이는 n 변수와 같이 다루세요.
더 깊게
읽은 뒤 연습장에서 예제 코드를 한 번 타이핑해 보세요. 눈으로만 보면 하루 뒤 사라집니다.
관련 원리 카드와 문제 태그로 바로 이어서 풀면, 문법·패턴이 한 묶음으로 남습니다.
막히면 30분 규칙: 입력을 로그로 확인 → 기대/실제 한 줄 비교 → 그래도 안 되면 배우기 레슨으로 잠시 복귀.