Şimdi Ara

GİRİŞ FONKSİYONLARI ÇILDIRTTII !!! YARDIM LÜTFEN

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
125
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhaba arkadaşlar ilk defa bu sorunlar karşılaştığım için çok tuhafıma gitti ama öylesine sinirlendimki bir ana hayallerim çöktü arkadaşlar sorun şu örneğin aşağıdaki gibi bir kod olsun:
      
    while(1)
    {
    scanf("%c",&a);
    printf("\n%c\n",a);
    }


    bu kodda kullanıcı "123" girerse döngü 3 defa devam ediyor ve ekrana al ata 1 2 3 yazılıyor sonra kullanıcıdan veri girişi isteniylior. çok saçma değilmi oysaki ekrana sadece "1" yazılıp tekrar veri girişi istenmesi gerekmezmiydi. yalnış anlamayın sorun sadece "123" de değil 1 karakterden fazlar girersek %90 tüm karakaterleri ekrana yazdırdıktan sonra veri girişi işte sorun bu bunun için bir "fflush()" fonksiyonu vardı sanırsam "fflush(stdin);" şeklinde kullandım ama bir değişiklik olmadı sanırsam "scanf" gibi fonksiyonlar ayrı bir yer kullanıyor ve orada imleç sona gelmedikçe veri girişi istenmiyor







  • Hocam siz öyle yazınca ardıardına yazılanlar bufferda birikiyor sonraki scanf fonksiyonlarında onlar kullanılıyor. Mesela tek karakter giriş yaptığınızda bile otomatik olarak new line karakteri (\n) üretilip bir sonraki scanf kullanımında bu alınabilir. Bu yüzden böyle bir sorun var. Hem linux de hem windowsda.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • BRTKNOZ B kullanıcısına yanıt
    hocam bu scanf fonksiyonunu resetleyemiyormuyuz yani sıfırlayamıyormuyuz
  • Maalesef bende aynı sorun ile karşı karşıyayım. ama şöyle iğrenç bir yöntem biliyorum: Başka bir scanf kullanırsan bu gereksiz karakterleri o tutabilir.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 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.