Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#11

Re: [C++] Problem bei Stringverleich

  Alt 8. Feb 2006, 21:36
Zitat von 3_of_8:
OK, hier mal mein ganzer Code
Code:
 char op[1];
Zitat von 3_of_8:
Ich hab einen char op;
Da liegt der unterschied.
Mit op[1] legst du ein charArray an, also ist der Typ, den op am ende hat, char*, sowas wie ein normaler String, bei dir eben mit fixer Laenge 1. Du hast also nen Zeiger, und willst einen Zeiger mit einer Konstante vergleichen:
Code:
char* z;
if (z == "mops")...
Wobei: "mops" ist ein String, am Ende also auch nur ein Zeiger. Normalerweise kann man Zeiger auf vergleichen, kein Problem, aber anscheinend ist es bei Konstanten eben ein bisschen anders. Damit duerfte die Loesung, die HERMES dir gegeben hat, naemlich strcmp, einwandfrei funktionieren.

Ich bin mir nicht sicher, aber was auch klappen duerfte waere folgendes:
Code:
char op;
cin >> op;
op wird damit zu einem char degradiert und der vergleich kann ohne strcmp stattfinden.

und nochwas....
Zitat von 3_of_8:
Code:
cin>>op;
//..
op=='+'||op=='-'||op=='*'||op=='/'
//...
if(op=="+") cout<<oprnd1<<"+"<<oprnd2<<"="<<oprnd1+oprnd2;
In C wird Code sehr schnell unübersichtlich, ich kann dir gern dafür ein Beispiel geben
jedenfalls würde ich dir den Einsatz von leerzeichen empfehlen

greetz
Mike

Box? *grml8
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat