Ich lerne c. Ich habe eine Frage. Warum funktioniert mein Programm nicht?
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
char cmd;
void exec()
{
if (cmd == "e")
{
printf("%c", cmd);
// exit(0);
}
else
{
printf("Illegal Arg");
}
}
void input()
{
scanf("%c", &cmd);
exec();
}
int main()
{
input();
return 0;
}
Ich füge ein “e” ein, aber es sagt illegales arg.
cmd ist nicht gleich “e”. Warum? Ich setze cmd mit scanf auf “e”.
verwenden
cmd == 'e'
stattdessen, und lesen Sie weiterC
bevor Sie diese Fragen stellen. Es ist im Allgemeinen verpönt, wenn Sie eine Frage stellen, die in einem Anfängerbuch beantwortet werden könnte– tay10r
20. Juli 2013 um 21:16 Uhr
@ user2603035 – tut mir leid, dass du so schlecht behandelt wirst 🙁 Wie Taylor Flores sagte, ein “char” ist keine “Zeichenfolge”, du musst es ersetzen
if (cmd == 'e')
– paulsm4
20. Juli 2013 um 21:17 Uhr
@paulsm4 Nein, braucht er
if (cmd == 'e')
.– Benutzer529758
20. Juli 2013 um 21:19 Uhr
+1 an das OP für eine genau spezifizierte Frage. Der eigentliche Grund für den Stapelüberlauf liegt darin, dass wir manchmal das Problem, das vor unseren eigenen Augen liegt, nicht sehen können, obwohl das Buch alle Informationen enthält. Zögern Sie nicht, weitere Fragen zu stellen. Wir sorgen dafür, dass Sie das Programmieren schneller lernen, als wenn Sie nur mit einem Buch allein gelassen würden! 🙂
– Nekromant
20. Juli 2013 um 21:32 Uhr
Es ist eine Schande, dass OP mit dieser schlechten Frage so viel Ansehen verdient wie ich mit einer mäßig guten Antwort. Es ist nur eine Schande.
– Benutzer529758
20. Juli 2013 um 21:40 Uhr