C Char Array Vs String Karşılaştırmak
-
YeniHarman bunu yazdınurulmac11 bunu yazdıYeniHarman bunu yazdı
şunun gibi olabilir: https://ideone.com/Zq6s1Y
yine yemedi ya, benim fonksiyonda kullanicinin girdigi iki stringi karsilastiriyo sorun yok
ama sorulardan biri 'kullanici "end of story" yazana kadar kullanıcıdan veri almak" tarzı bişey olacakmış. bu yüzden girilen şey "end of story" mi onu kontrol etmem lazım. onu yapamıyorum bi türlü
Hım. Öncelikle scanf ile boşluklar alınamaz (normal kullanımla). Şöyle bir şey: https://ideone.com/04vFyr
gets le aliyorum zaten abi. neyse ya düşük alcam gibi bi türlü çözüm bulamadım
-
Örnek işe yaramadı mı?
-
hocam kodunu burada derledim calisti:
input: dort
output: 0
input: test
output: 1
input: fazla
output: 0#include <stdio.h> int getLength(char str[]){ int i; for(i = 0;str[i] != '\0';i++); return i-1; } int strcompare(char alpha[], char bravo[]){ if(getLength(alpha) == getLength(bravo)){ //uzunluklar ayni int i; for(i = 0;i <= getLength(alpha);i++){ if(alpha[i] != bravo[i]){ return 0; } } return 1; }else{ //uzunluklar farkli.ayni olamazlar return 0; } return -1; } int main() { char c[500], h[500] = {'t','e','s','t','\0'}; gets(c); printf("%d",strcompare(c,h)); return 0; }
-
YeniHarman bunu yazdı
Örnek işe yaramadı mı?
hayır hocam, malesef o da çalışmadı
bende ki compiler da vs bi sorun olabilirmi ya
-
Compilerdan olacağını sanmıyorum. Ideone'nınki strict olması lazım. Orada çalıştıysa her yerde çalışır (Visual C++ ile de denedim). Nasıl bir hata veriyor? Hangi derleyici ve ide'yi kullanıyorsun? Büyük ihtimalle problem \r\n karakterlerinden.
strlen'i (senin yaptığını) ile \r veya \n'de (bu karakterler platforma bağımlı olarak işlenir) durdur. Hangisi önce geliyorsa (\r, \n veya \0) o zaman döngüyü kes.