İyi günler arkadaşlar amacım klavyeden girilen harf notunun değerini alıp işlem yaptırmak örneğin; kullanıcı harf notunu "aa" girsin ben programda aa yı 4 e eşitleyip diğer notlarla toplayıp işlem yaptırcam ancak programın if yapısında sorun çıktı "eğer girilen değer=aa ise" diye bi karakter karşılaştırması yapıcam nası yapcagım konusunda yardımcı olursanız sevinirim. böyle bi kod yazdım fakat hep olmadı diyor aa yı tek tırnak içine aldığım zaman sadece ilk karakteri okuyo yani aa yazsanda a yı alıyo ab yazsanda a yı alıyo bana 2 karakter alıp karşılaştırcak bir kod lazım şimdden teşekkürler. char p; scanf(" %2",&p); if(p=="aa") printf("oldu"); else printf("olmadi");n
şimdi öncelikle scanf ile %2 şeklinde bir kullanım olmaz. % işaretinden sonra d,f,x,h gibi harflerden biri gelir ve hepsinin anlamı farklıdır. karakter okutmak için %c olarak kullanırsın.
ikinci olarak char veri tipi sadece 1 karakter depolar. "aa" gibi bir veri farkedeceğin üzere 2 karakterdir. Birden fazla karakterlerin yanyana gelerek oluşturduğu veri tipine string diyoruz. C de stringler konusuna göz atabilirsin. Ayrıca p=="aa" şeklinde bir karşılaştırma c ile mümkün değil stringler üzerinde ne yazıkki.
Hocam anlattıklarının hepsini biliyorum fakat çözüm bulamadıgım için bu kodun üzerinden yanlışlıkları düzelterek gitmek istedim demek istediğim scanf ile girilen 2 karakteri if yapısı kendim belirlediğm bir değere eşitlemek charda tek karakter oluo bu kodu 2 tane char kullanarak hallettim ama benim kafamın takldıgı yer birden fazla karakteri(stringi) C de nasıl kullancam ve if içinde nasl işlem yaptırcam yani girilen karakter sayısı 20 olsaydı benim 20 tane char tanımlamam gerekirdi buda işimi iyice zorlaştırırdı bunu kolaylastırcak bi kod arıyorum.
böyle bi kod yazdım fakat hep olmadı diyor aa yı tek tırnak içine aldığım zaman sadece ilk karakteri okuyo yani aa yazsanda a yı alıyo ab yazsanda a yı alıyo bana 2 karakter alıp karşılaştırcak bir kod lazım şimdden teşekkürler.
char p;
scanf(" %2",&p);
if(p=="aa")
printf("oldu");
else
printf("olmadi");n