Online C - IDE, Editör, Derleyici, Yorumlayıcı

Tarayıcınızın içinde çalışan gerçek bir Clang derleyicisiyle C programlarını online yazın, derleyin ve çalıştırın. stdin, uyarılar ve C standart kütüphanesi desteklenir.

C17 (Clang 21, WebAssembly) · Tarayıcınızda çalışır, böylece kodunuz sunucularımıza hiç ulaşmaz.
main.cC
Çıktı

            
Girdi (stdin), scanf / std::cin / getline ile okunur
Çalıştırmak için Ctrl/⌘ + Enter

Online C derleyicinin özellikleri (IDE, editör & yorumlayıcı)

C kodunu online ve ücretsiz olarak yazın, çalıştırın ve test edin. Bu sayfa online C IDE'si, kod editörü, derleyicisi ve yorumlayıcısı olarak tek bir yerde çalışır: kodunuzu yazın, Çalıştır'a basın ve çıktıyı hemen görün. Her şey tarayıcınızda çalışır; kurulacak bir şey ya da açılacak bir hesap yoktur.

  • Kodu anında çalıştırın: C17 (Clang 21, WebAssembly), ilk yüklemeden sonra bir saniyeden kısa sürede çıktı.
  • Kod editörü: sözdizimi vurgulama, satır numaraları, parantez eşleştirme ve otomatik parantez kapatma.
  • Program girdisi (stdin): programınızın okuyacağı girdiyi çalıştırmadan önce yazın.
  • Anlaşılır hatalar: hata mesajları ve uyarılar, kendi bilgisayarınızda olduğu gibi çıktı panelinde görünür.
  • Tam ekran: Ctrl/⌘ + Shift + F, ayarlanabilir yazı boyutu, yan yana veya alt alta düzen ve yeniden boyutlandırılabilir paneller.
  • Otomatik kaydetme: kodunuz tarayıcınızda saklanır; tek tıkla main.c olarak indirin veya kopyalayın.
  • Güvenle deneyin: süre sınırı ve Durdur düğmesi sonsuz döngüleri sonlandırır.
  • Gizli: C çalışma ortamı cihazınızda çalışır, böylece kodunuz asla yüklenmez.
  • Karanlık mod ve klavye kısayolları: Ctrl/⌘ + Enter kodu çalıştırır.
  • Ücretsiz: kayıt yok, kullanım sınırı yok.

Diğer programlama dillerini öğrenin

Online C derleyici nasıl kullanılır?

  1. C programınızı düzenleyiciye yazın veya yapıştırın; programda bir main işlevi bulunmalıdır. Örneği sıfırla başlangıç programını geri getirir.
  2. Program scanf, getchar veya fgets ile girdi okuyorsa çalıştırmadan önce girdiyi çıktının altındaki Girdi (stdin) kutusuna yazın.
  3. Çalıştır düğmesine ya da Ctrl + Enter (Mac'te ⌘ + Enter) tuşlarına basın. Kod önce derlenir, sonra çalıştırılır; iki adımın sonuçları da Çıktı panelinde görünür.
  4. 5, 15 veya 60 saniyelik bir süre sınırı seçin. Sonsuz bir döngü sınıra ulaşıldığında durdurulur; Durdur ise çalışmayı hemen sonlandırır.

İlk çalıştırmada yaklaşık 30 MB boyutundaki derleyici indirilir. Tarayıcınız onu önbelleğe alır ve bundan sonra tipik bir program bir saniyeden çok daha kısa sürede derlenir. Kaynak dosyanızı kaydetmek için Kopyala veya main.c, metin boyutunu değiştirmek için A− ve A+, düzenleyiciyle çıktıyı yan yana veya alt alta yerleştirmek için düzen düğmesini, daha fazla alan için de Tam ekran (Ctrl/⌘ + Shift + F, çıkmak için Esc) seçeneğini kullanın.

Derleme de çalıştırma da tarayıcınızın içinde gerçekleşir. Kodunuz hiçbir zaman bir sunucuya gönderilmez. Düzenleyici son programınızı tarayıcınızın yerel depolama alanında tutar; başka hiçbir yerde saklanmaz.

Nasıl çalışır, neler desteklenir?

Bu, C'yi taklit eden bir yorumlayıcı değil, gerçek bir derleyicidir. Sayfa, YoWASP projesi tarafından WebAssembly'ye derlenmiş Clang/LLVM 21 çalıştırır. Clang, main.c dosyasını tarayıcınızın çalıştırdığı bir WebAssembly (WASI) programına dönüştürür. Derleyici seçenekleri şunlardır:

clang main.c -std=c17 -O2 -Wall -lm -o main.wasm
  • C17; optimizasyon (-O2) ve yaygın uyarılar (-Wall) açık.
  • wasi-libc'den C standart kütüphanesi: stdio.h, stdlib.h, string.h, ctype.h, stdint.h, time.h ve daha fazlası. Matematik kütüphanesi bağlanmıştır; bu yüzden math.h içindeki sqrt, pow ve sin, sizin -lm eklemenize gerek kalmadan çalışır.
  • Birebir tanılama mesajları: hatalar ve uyarılar, Clang'in yazdırdığı şekliyle main.c:satır:sütun konumlarıyla gösterilir.
  • Çıkış kodları: main 0'dan farklı bir değer döndürürse çıktı İşlem N koduyla sonlandı mesajıyla biter.

Tarayıcı korumalı alanının sınırlamaları:

  • İş parçacığı yok. pthread.h kullanılamaz.
  • Soket veya ağ erişimi yok; fork veya exec de yok.
  • Gerçek bir dosya sistemi yok. Bilgisayarınızdaki dosyaları açamazsınız; bunun yerine stdin'i veya kaynak koddaki verileri kullanın.
  • Grafik veya GUI kütüphanesi yok: SDL, OpenGL veya conio.h/graphics.h kullanılamaz. Çıktı düz metindir.

Derleyicinin fark etmenize yardım ettiği yaygın C hataları

scanf'in ne döndürdüğünü kontrol edin. Değerin kendisini değil, okuduğu değer sayısını döndürür. stdin kutusu boşsa veya sayı beklenen yerde metin varsa değişken önceki değerini korur ve bu değer rastgele bir çöp değer olabilir. Başlangıç programı güvenli kalıbı gösterir:

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

printf biçim belirteçlerini türlerle eşleştirin. int için %d, long için %ld, long long için %lld, size_t için %zu, double için %f ve bir karakter için %c kullanın. -Wall ile Clang, bir double değerini %d ile yazdırmak gibi uyuşmazlıklar için uyarır; bu yüzden program çalışsa bile uyarıları okuyun.

Tamsayı taşmasına dikkat edin. 32 bitlik bir int 2.147.483.647'de durur ve işaretli taşma C'de tanımsız davranıştır. -O2 ile optimize edici bunun hiç olmadığını varsayabilir; bu nedenle taşan bir döngü basitçe başa sarmak yerine tuhaf davranabilir. Faktöriyeller, büyük toplamlar ve çarpımlar için long long (veya stdint.h içindeki int64_t) kullanın.

long long f = 1;
for (int i = 2; i <= 20; i++) f *= i;
printf("20! = %lld\n", f);   /* 2432902008176640000 */
İpucu: Bir işlevin örtük bildirimiyle (implicit declaration) ilgili mesaj genellikle eksik bir #include anlamına gelir; örneğin malloc için stdlib.h veya strlen için string.h.

Sıkça sorulan sorular

Hangi derleyici ve hangi C standardı kullanılıyor?

C17 modunda, -O2 -Wall seçenekleriyle Clang 21 (LLVM). GCC için yazılmış kodların çoğu, standart C'ye bağlı kaldığı ve platforma özgü başlık dosyalarından kaçındığı sürece değiştirilmeden derlenir.

Kodum herhangi bir yere yükleniyor mu?

Hayır. Derleyicinin kendisi tarayıcınızda çalışır; kaynak kod, derlenen program ve çıktısı cihazınızda kalır.

Programıma nasıl girdi veririm?

Çalıştır'a basmadan önce girdiyi stdin kutusuna yazın. Değerler, bir terminale yazarken olduğu gibi boşluklarla veya yeni satırlarla ayrılabilir. Girdi bittiğinde scanf, EOF döndürür.

Programım neden süre sınırı mesajıyla duruyor?

Program seçilen sınırdan uzun sürdü; bu genellikle hiç bitmeyen bir döngüye işaret eder. Döngü koşulunu kontrol edin veya gerçekten uzun hesaplamalar için 60 sn'yi seçin.

Burada C++ derleyebilir miyim?

Aynı Clang'i C++20 modunda çalıştıran online C++ derleyiciyi kullanın. Diğer diller için tüm online derleyicilere göz atın.

Güncellendi

Panoya kopyalandı