위치
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);
포맷과 인자 타입이 어긋나면 미정의에 가깝습니다.
반환 코드
main의 return 0은 성공.
실험 UI가 stderr/stdout을 어떻게 보여 주는지만 확인하면 됩니다.
다음 레슨
타입·배열·반복으로 넘어가 작은 계산을 구현해 보세요.
컴파일·실행 흐름 (개념)
- 소스
.c→ 컴파일러가 목적 코드/실행 파일로 변환 main이 프로그램 진입점printf는 표준 출력으로 문자열을 보냄return 0은 정상 종료를 뜻하는 관례
브라우저 Wasmer 경로에서는 위 단계가 Wasm 샌드박스 안에서 이뤄집니다. OS 파일을 마음대로 읽거나 네트워크를 치지는 않습니다.
자주 하는 실수
#include누락 →printf선언을 모름main시그니처를 마음대로 바꿈- 문자열에 닫는 따옴표/
\n누락 - C++로 쓰면서 C만 되는 옵션을 기대
실험이므로 문법 감을 익히는 용도로 두고, 채점 문제는 JS/Python 등으로 이어가세요.