Şimdi Ara

C'de ufak bi soru

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
435
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhaba herkese...ben C öğrenmeye yeni başladım.Aldım elime kitabı açtım editörü ufak ufak yazmaya başladım..Aşağıdaki programı çalıştırdığımda ne yaptığını anladım ancak

    printf("%s",satir %2?"<":">"); satırının açıklamasını öğrenmek istiyorum..İnternette araştırdım ama aydınlatıcı bilgi bulamadım.'<' ve'>' simgelerini altalta 10 defa yazan programda bunu %2? açıklayan olursa çok rahatlayacağım...Şimdiden tşkler...


    #include<stdio.h>
    int main()
    {
    int satir=10,sutun;

    while(satir>=1){
    sutun=1;

    while(sutun<=10){
    printf("%s",satir %2?"<":">");
    ++sutun;
    }
    --satir;
    printf("\n");
    }
    system("PAUSE");
    return 0;
    }







  • satır %2 demek = satır ın 2 ye bölümünden kalan anlamını taşıyor.
    printf("%s",satir %2?"<":">")
    burdada satırın %2 ye bölümünden kalan 0 ise ? sonraki ifade,başka birşeyse : sonraki ifade çalışıyor.
    yani bir tür if else durumunun kısaltılmışı anlamına geliyor burada "?" koşul belirtiyor.
    %s de karakter dizisi olduğunu belirtiyor.
    altalta yazmasını sağlayan da while döngüsü zaten onu biliyorsun sanırım.

    for kullansa daha düzgün olurmuş bence while sevmiyorum

    ?doğru ise yapılması istenen koşul : yanlış ise yapılması istenen koşul;
    Şeklinde kullanılıyor.Bu kodda ? kullanımına başka örnek.Girilen harflerdeki a,b ve i harfinden kaç tane olduğunu yazıyor.

    #include <stdio.h> 
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
    char a[50];
    printf("Kontrol edilecek kelimeyi girin:");
    gets(a);
    char *p;
    int i,con,aa=0,bb=0,aa2=0,bb2=0,ii=0;
    p=a;
    for(i=0;p[i];i++)
    {
    printf("%c",p[i]);
    con=p[i]=='a' ? aa++ : 0 ;
    con=p[i]=='B' ? bb++ : 0 ;
    con=p[i]=='A' ? aa++ : 0 ;
    con=p[i]=='b' ? bb++ : 0 ;
    con=p[i]=='i' ? ii++ : 0 ;
    }
    printf("\n%d tane a var",aa);
    printf("\n%d tane b var",bb);
    printf("\n%d tane i var \n",ii);
    system("PAUSE");
    return 0;
    }




    < Bu mesaj bu kişi tarafından değiştirildi procaptain -- 5 Ağustos 2011; 16:17:30 >




  • yorumun için tşkler.bende %2? i apayrı bir terim sanmıştım.modla alakalıymış..dikkatimi iyice verseymişim anlayacakmışım..C'yi çevremdeki herkes çok zor diye nitelendirdiği için bende kendimi kasıyorum.C ile yeni tanıştığımdan...Ayrıca while'ı bende sevmiyorum.onun yerine if yada for'u kullansak olur değilmi?Aman aman kullanılması gereken yada bnm dikkat etmem gereken yerler varmı?
  • Çok iyi derecede bilmiyorum, bende 1 aydır falan ilgileniyorum C ile bence mutlaka kullanılması gereken yer yok for daha kullanışlı :)
  • Her while bir for, her for bir while şeklinde yazılabilir
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.