Cara menggunakan compiler C online
- Tulis atau tempel program C yang memiliki fungsi
mainke editor. Reset contoh mengembalikan program awal. - Jika program membaca input dengan
scanf,getchar, ataufgets, ketik input tersebut di kotak Input (stdin) di bawah output sebelum menjalankan program. - Tekan Jalankan atau gunakan Ctrl + Enter (⌘ + Enter di Mac). Kode dikompilasi terlebih dahulu lalu dieksekusi, dan kedua tahap itu dilaporkan di panel Output.
- 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, jadisqrt,pow, dansindarimath.hlangsung bisa dipakai tanpa perlu menambahkan-lmsendiri. - Diagnostik yang persis: error dan peringatan ditampilkan sebagaimana dicetak oleh Clang, lengkap dengan posisi
main.c:line:column. - Exit code: jika
mainmengembalikan nilai selain 0, output diakhiri dengan Proses berakhir dengan kode N.
Keterbatasan sandbox browser:
- Tidak ada thread.
pthread.htidak tersedia. - Tidak ada socket atau akses jaringan, serta tidak ada
forkatauexec. - 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 */
#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