Şimdi Ara

C De basit bi scanf sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
620
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • void EnterTable(char x[]) 
    {
    int i=0;

    for(i=0;i<10;i++)

    {scanf("%c",&x[i]);}


    }


    Arkadaşlar sorunum şu. Bu x[] array'ini doldurmak istiyorum ve her elemanı girdikten sonra Enter'a bastığımda Enter'ı da bir input olarak alıyor. Yani bana sadece 10 elemanı yanyana yazıp sonra Enter'a basma şansı veriyor. Ayrıca böyle olduğunda array'e iki basamaklı bi sayı ekleyemiyorum. 23 yazdım varsayalaım , 2 ve 3 olarak ayrı ayrı alıyor. Nasıl bi çözüm üretebiliriz? (Array özellikle char olmalı , sadece integer girilmeyecek)



  • yapamazsın çünkü sen 2 girdiğin zaman program onu char olarak kabul eder acak gireceğin değer 23 olduğunda bu değer string olur doğal olarak program bu string i 2 ve 3 olarak ayrı ayrı alır


    c de klavyede gördüğün bütün değerlerin bir ASCI karşılığı var dır ASCI kod tablosu diye aratırsan görürsün

    son olarak char değerin memoryde kapladığı belirlenmiş bir alan vardır. girdiğin her karakter bu alana sığacak şekilde olmalıdır yani tek karakter girebilirsin 23 yaptığın zaman alan taşması yaşarsın c de bu sorunu memoryde taşan kısmı bir sonraki alana atar tabi sen böle bi imkan verdiysen


    array ini string e dödüştür gireceğin her değeri gene alabilirsin
  • önccelikle kolay gelsin eğer %c değilde %s kullanırsan sorun halledilir.
    [Kunye=] dilini tutan kurtuldu...
  • 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.