C Online - IDE, Editor, Compiler, Interpreter

Tulis, kompilasi, dan jalankan program C secara online dengan compiler Clang sungguhan yang berjalan di dalam browser Anda. Mendukung stdin, peringatan, dan pustaka standar C.

C17 (Clang 21, WebAssembly) · Berjalan di browser Anda, sehingga kode Anda tidak pernah sampai ke server kami.
main.cC
Output

            
Input (stdin), dibaca oleh scanf / std::cin / getline
Ctrl/⌘ + Enter untuk menjalankan

Fitur compiler C online (IDE, editor & interpreter)

Tulis, jalankan, dan uji kode C online secara gratis. Halaman ini berfungsi sebagai IDE, editor kode, compiler, dan interpreter C online sekaligus: ketik kode Anda, tekan Jalankan, dan lihat outputnya seketika. Semuanya berjalan di browser Anda, tanpa perlu menginstal apa pun dan tanpa membuat akun.

  • Jalankan kode seketika: C17 (Clang 21, WebAssembly), dengan output dalam waktu kurang dari satu detik setelah pemuatan pertama.
  • Editor kode: penyorotan sintaks, nomor baris, pencocokan kurung, dan penutupan kurung otomatis.
  • Input program (stdin): ketik input yang dibaca program Anda sebelum menjalankannya.
  • Error yang jelas: pesan error dan peringatan muncul di panel output, seperti di komputer Anda sendiri.
  • Layar penuh: Ctrl/⌘ + Shift + F, ukuran font yang dapat diatur, tata letak berdampingan atau bertumpuk, dan panel yang dapat diubah ukurannya.
  • Simpan otomatis: kode Anda disimpan di browser; download sebagai main.c atau salin dengan satu klik.
  • Aman untuk bereksperimen: batas waktu dan tombol Hentikan mengakhiri loop tak terbatas.
  • Privat: runtime C berjalan di perangkat Anda, sehingga kode Anda tidak pernah diupload.
  • Mode gelap dan pintasan keyboard: Ctrl/⌘ + Enter menjalankan kode.
  • Gratis: tanpa daftar, tanpa batas penggunaan.

Pelajari bahasa pemrograman lain

Cara menggunakan compiler C online

  1. Tulis atau tempel program C yang memiliki fungsi main ke editor. Reset contoh mengembalikan program awal.
  2. Jika program membaca input dengan scanf, getchar, atau fgets, ketik input tersebut di kotak Input (stdin) di bawah output sebelum menjalankan program.
  3. Tekan Jalankan atau gunakan Ctrl + Enter (⌘ + Enter di Mac). Kode dikompilasi terlebih dahulu lalu dieksekusi, dan kedua tahap itu dilaporkan di panel Output.
  4. Pilih batas waktu 5, 15, atau 60 detik. Perulangan tanpa akhir dihentikan saat batasnya tercapai, dan Hentikan langsung mengakhiri eksekusi.

Saat pertama kali dijalankan, compiler diunduh dengan ukuran sekitar 30 MB. Browser Anda menyimpannya di cache, dan setelah itu program biasa terkompilasi dalam waktu jauh di bawah satu detik. Gunakan Salin atau main.c untuk menyimpan file sumber Anda, A− dan A+ untuk mengubah ukuran teks, tombol tata letak untuk menempatkan editor dan output berdampingan atau bertumpuk, serta Layar penuh (Ctrl/⌘ + Shift + F, Esc untuk keluar) agar ruang lebih luas.

Kompilasi dan eksekusi sama-sama berlangsung di dalam browser Anda. Kode Anda tidak pernah dikirim ke server. Editor menyimpan program terakhir Anda di penyimpanan lokal browser, dan tidak di tempat lain.

Cara kerja dan fitur yang didukung

Ini adalah compiler sungguhan, bukan interpreter yang meniru C. Halaman ini menjalankan Clang/LLVM 21, yang dikompilasi ke WebAssembly oleh proyek YoWASP. Clang mengubah main.c menjadi program WebAssembly (WASI), yang kemudian dijalankan oleh browser Anda. Flag compiler-nya adalah:

clang main.c -std=c17 -O2 -Wall -lm -o main.wasm
  • C17 dengan optimasi (-O2) dan peringatan umum (-Wall) yang diaktifkan.
  • Pustaka standar C dari wasi-libc: stdio.h, stdlib.h, string.h, ctype.h, stdint.h, time.h, dan lainnya. Pustaka matematika sudah ditautkan, jadi sqrt, pow, dan sin dari math.h langsung bisa dipakai tanpa perlu menambahkan -lm sendiri.
  • Diagnostik yang persis: error dan peringatan ditampilkan sebagaimana dicetak oleh Clang, lengkap dengan posisi main.c:line:column.
  • Exit code: jika main mengembalikan nilai selain 0, output diakhiri dengan Proses berakhir dengan kode N.

Keterbatasan sandbox browser:

  • Tidak ada thread. pthread.h tidak tersedia.
  • Tidak ada socket atau akses jaringan, serta tidak ada fork atau exec.
  • Tidak ada sistem file sungguhan. Anda tidak dapat membuka file di komputer Anda, jadi gunakan stdin atau data di dalam kode sumber.
  • Tidak ada pustaka grafis atau GUI seperti SDL, OpenGL, atau conio.h/graphics.h. Outputnya berupa teks biasa.

Kesalahan umum di C yang bisa dideteksi dengan bantuan compiler

Periksa nilai yang dikembalikan scanf. Fungsi ini mengembalikan jumlah nilai yang berhasil dibaca, bukan nilainya sendiri. Jika kotak stdin kosong atau berisi teks di tempat yang seharusnya angka, variabel tetap menyimpan nilai sebelumnya, yang bisa saja nilai sampah. Program awal menunjukkan pola yang aman:

int n;
if (scanf("%d", &n) != 1) {
    fprintf(stderr, "expected a number\n");
    return 1;               /* dilaporkan sebagai exit code 1 */
}

Cocokkan format specifier printf dengan tipenya. Gunakan %d untuk int, %ld untuk long, %lld untuk long long, %zu untuk size_t, %f untuk double, dan %c untuk karakter. Dengan -Wall, Clang memperingatkan ketidakcocokan seperti mencetak double dengan %d, jadi bacalah peringatannya meskipun program berjalan.

Waspadai integer overflow. int 32-bit berhenti di 2.147.483.647, dan signed overflow adalah perilaku tak terdefinisi (undefined behaviour) di C. Dengan -O2, optimizer boleh berasumsi bahwa hal itu tidak pernah terjadi, sehingga perulangan yang meluap bisa berperilaku aneh alih-alih sekadar berputar balik. Gunakan long long (atau int64_t dari stdint.h) untuk faktorial, penjumlahan, dan perkalian besar.

long long f = 1;
for (int i = 2; i <= 20; i++) f *= i;
printf("20! = %lld\n", f);   /* 2432902008176640000 */
Tips: Pesan tentang deklarasi implisit sebuah fungsi biasanya berarti ada #include yang terlewat, misalnya stdlib.h untuk malloc atau string.h untuk strlen.

Pertanyaan yang sering diajukan

Compiler dan standar C apa yang dipakai?

Clang 21 (LLVM) dalam mode C17, dengan -O2 -Wall. Sebagian besar kode yang ditulis untuk GCC dapat dikompilasi tanpa perubahan, selama tetap memakai C standar dan menghindari header khusus platform.

Apakah kode saya diunggah ke suatu tempat?

Tidak. Compiler-nya sendiri berjalan di browser Anda, sehingga kode sumber, program hasil kompilasi, dan output-nya semuanya tetap di perangkat Anda.

Bagaimana cara memberi input ke program saya?

Ketik input di kotak stdin sebelum menekan Jalankan. Nilai bisa dipisahkan dengan spasi atau baris baru, sama seperti saat Anda mengetiknya di terminal. Jika input habis, scanf mengembalikan EOF.

Mengapa program saya berhenti dengan pesan batas waktu?

Program berjalan lebih lama daripada batas yang dipilih, yang biasanya menandakan perulangan yang tidak pernah berakhir. Periksa kondisi perulangannya, atau pilih 60 detik untuk perhitungan yang memang panjang.

Bisakah saya mengompilasi C++ di sini?

Gunakan compiler C++ online, yang menjalankan Clang yang sama dalam mode C++20. Untuk bahasa lain, lihat semua compiler online.

Diperbarui

Tersalin ke clipboard