Çözüldü C kodlamadaki hata nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

404631

Hectopat
Katılım
24 Aralık 2020
Mesajlar
3.100
Makaleler
1
Çözümler
30
[CODE lang="c" title="Kod" highlight="8-10"]#include <stdio.h>

int main() {
char* name = "Cagan";
char input[256];
printf("En sevdiğim arkadaşım kim sence? ");
scanf("%s", input);
if (name == input) {
printf("Doğru bildin\n");
}
else {
printf("Bilemedin xD %s", input);
}
}[/CODE]

Doğru olduğundan eminim ama if kısmında çalışmıyor. Else'e geçiyor koşul sağlansa bile.
 
Çözüm
Strcmp kullaniliyor string karsilastirmalarinda.
~/projects/c > ./abc En sevdiğim arkadaşım kim sence? Cagan Doğru bildin ~/projects/c >

C:
#include <stdio.h>
#include <string.h>

int main() {
 char* name = "Cagan";
 char input[256];
 printf("En sevdiğim arkadaşım kim sence? ");
 scanf("%s", input);
 if (strcmp(name, input) == 0) {
 printf("Doğru bildin\n");
 }
 else {
 printf("Bilemedin xD %s", input);
 }
}

Olay su, Strcmp ile kontrol ettigin iki string ayni ise 0 donuyor, degil ise 1.
Strcmp kullaniliyor string karsilastirmalarinda.
~/projects/c > ./abc En sevdiğim arkadaşım kim sence? Cagan Doğru bildin ~/projects/c >

C:
#include <stdio.h>
#include <string.h>

int main() {
 char* name = "Cagan";
 char input[256];
 printf("En sevdiğim arkadaşım kim sence? ");
 scanf("%s", input);
 if (strcmp(name, input) == 0) {
 printf("Doğru bildin\n");
 }
 else {
 printf("Bilemedin xD %s", input);
 }
}

Olay su, Strcmp ile kontrol ettigin iki string ayni ise 0 donuyor, degil ise 1.
 
Çözüm
Teşekkürler hocam çözüldü. Kaç saattir internetten bulamadım. Çok çok teşekkürler.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…