문법 · C · beginner

C 실험: main과 입출력 감각

실험장에서 돌아가는 최소 C, printf/scanf 주의.

배우기 · C 실험 기초 · 14분 · 1/6 · c

이 트랙 목차 (6)
  1. 1. C 실험: main과 입출력 감각
  2. 2. C 타입·배열·반복
  3. 3. 포인터 감각: 주소·배열·decay
  4. 4. C 문자열: null 종료와 길이
  5. 5. 구조체 맛보기: 묶음과 배열
  6. 6. 반복과 간단한 입출력

위치

C/C++은 /playground/c/ 실험입니다.
일반 문제 채점(JS/TS/Python/SQL/Lua)과는 별개이고, 원격 Judge는 쓰지 않습니다.

최소 프로그램

#include <stdio.h>

int main(void) {
  printf("hello\n");
  return 0;
}

입출력

int a, b;
if (scanf("%d %d", &a, &b) != 2) {
  return 1;
}
printf("%d\n", a + b);

scanf 성공 개수를 확인하세요.
버퍼·개행 때문에 문자 입력이 꼬일 수 있습니다.

멀티파일

실험장은 여러 .c / 헤더를 둘 수 있습니다.
엔트리(보통 main이 있는 파일)를 지정하는지 UI를 확인하세요.

안전

배열 범위, 널 종료 문자열, 미초기화 변수를 조심하세요.
Wasm 실험이라도 정의되지 않은 동작은 피합니다.

컴파일·실행 흐름 (개념)

소스가 Wasm 툴체인으로 컴파일되어 브라우저에서 돌아갑니다.
서버에 코드가 전송되어 실행되는 Judge0 같은 경로가 아닙니다.

printf 포맷

printf("%d\n", x);
printf("%lld\n", (long long)x);
printf("%s\n", s);

포맷과 인자 타입이 어긋나면 미정의에 가깝습니다.

반환 코드

mainreturn 0은 성공.
실험 UI가 stderr/stdout을 어떻게 보여 주는지만 확인하면 됩니다.

다음 레슨

타입·배열·반복으로 넘어가 작은 계산을 구현해 보세요.

컴파일·실행 흐름 (개념)

  1. 소스 .c → 컴파일러가 목적 코드/실행 파일로 변환
  2. main이 프로그램 진입점
  3. printf는 표준 출력으로 문자열을 보냄
  4. return 0은 정상 종료를 뜻하는 관례

브라우저 Wasmer 경로에서는 위 단계가 Wasm 샌드박스 안에서 이뤄집니다. OS 파일을 마음대로 읽거나 네트워크를 치지는 않습니다.

자주 하는 실수

실험이므로 문법 감을 익히는 용도로 두고, 채점 문제는 JS/Python 등으로 이어가세요.

관련 짧은 원리

관련 문제