Forum
Tipps
News
Menu-Icon

strcmp()

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>

test_ja=1;
test_nein=1;

...

while(!test_ja && test_nein || test_ja && !test_nein)
{
jein=getch();
test_ja=strcmp(jein,"j");
test_nein=strcmp(jein,"n");


[Warning] passing arg 1 of `strcmp' makes pointer from integer without a cast

Warum funktioniert das nicht?
Ich lese ein Zeichen ein, welches ich vergleichen will. Aber irgenetwas hat der Compiler dagegen :(

Ich habe den Code etwas gekürzt.
Der Rest funktionier. Die While-Schleife sollte zusätzlich dazukommen.

Das Programm soll erst weiterlaufen, wenn der Bentzer entweder "j" oder " n" gedrückt hat.

Antworten zu strcmp():

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

auf die Schnelle sehe ich nur die fehlende schließende geschweifte Klammer.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das liegt daran, weil du nur ein Zeichen hast. strcmp() vergleicht aber Zeichenketten. D.h. entweder machst du aus deinem einen Zeichen eine Zeichenkette (im Sinn von C):

char temp[2];
temp[0] = jein;
temp[1] = 0;
test_ja   = strcmp( temp, "j" );
test_nein = strcmp( temp, "n" );
oder du nimmst die einfache Lösung:
while( jein != 'j' && jein != 'n' ) jein = getch();

« Java-Programmierung: Was sind "Dienste"Farmbot mit vb6 erstellen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...

QR-Code
QR-Codes, die Abkürzung für "Quick Response Codes", sind eine Form von zweidimensionalen Barcodes. Damit lassen sich Informationen schnell und effizient speiche...