Fehler: Comparison between Pointer und integer
-
Hallo.
Ich habe folgende Warnmeldungen vom Compiler:
warning: comparison between pointer and integer
warning: comparison with string literal results in unspecified behaviorhier Auszüge aus dem Code:
struct flight 17 { 18 char depart[16]; // Startflughafen 19 char arrive[16]; // Zielflughafen 20 char seat[30][6]; // 30 Reihen zu je 6 Plätzen 21 }; ... 99 int list_flight(struct flight *fl) 100 { 101 int i, k, free_seats=180; 102 for(i=0;i<6;i++) 103 { 104 for(k=0;k<30;k++) 105 { 106 if(fl->seat[k][i]=="x") 107 free_seats--; 108 } 109 } 110 printf("\nStartet von: %-20s Landet in: %-20s Plätze (gesamt/frei): 180/%i\n",fl->depart, fl->arrive, free_seats); 111 return 0; 112 } ...
in der Zeile 106, wo die Warnungen auftreten vergleiche ich doch den Wert eines Element des Char-Arrays mit dem char x oder hab ich da irgendetwas übersehen?
Vielen Dank, MfG Heiko
-
Vergleiche mit dem char 'x', nicht mit dem String "x" (das ist ein großer Unterschied, du vergleichst hier mit der Adresse des Stringliterals "x").
-
ahh, danke, soweit hab ich garnicht gedacht
fl->seat[k][i]=='x'
es funktioniert, danke.