Çö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
[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.
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.
[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.
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
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.
Teşekkürler hocam çözüldü. Kaç saattir internetten bulamadım. Çok çok teşekkürler.
 

Technopat Haberler

Yeni konular

Geri
Yukarı