Hallo und guten Tag,
könntest du dazu ein paar Worte mehr verlieren?
Nö, das ist allgemein bekannt und hier oft genug diskutiert worden.
Ich denke, er meint die Zuweisung in der Bedingung, die zu true oder false ausgewertet wird.
das ist aber nur dann "merkwürdig", wenn man von Anfang an auf die eingeengte Sichtweise trainiert wurde, dass in der Klammer einer if- oder while-Anweisung eine Vergleichsoperation stehen müsse. Bedingung ist in C ja nur ein Synonym für einen Ausdruck, der Null oder eben nicht Null ergibt.
Das ist ja nun mal nicht selbstverständlich.
Wenn man das Konzept des Ausdrucks (Expression) von Anfang an allgemein betrachtet, ist auch das mit der Zuweisung nichts Besonderes mehr. Der Fallstrick lauert nur im Verwechseln von Vergleichs- und Zuweisungsoperator.
Im Studium fand ich damals die Lernkurve extrem steil: Schon vor Beginn des Studiums war ich eifriger Hobby-Programmierer mit soliden Kenntnissen in BASIC und 6502-Assembler (durch den C64). Von dem für Spaghetti-Code berüchtigten BASIC kam dann der Kulturschock zu Pascal, einer Sprache, die einen sehr stark zur Disziplin zwingt und erzieht und deshalb gern als erste Programmiersprache in der Ausbildung gelehrt wird. Zwei Semester später kam dann C, und ich war geradezu erschlagen von der ungeahnten Flexibilität (gegenüber Pascal), aber auch der teilweise recht knappen, kryptischen Schreibweise. Es dauerte weitere zwei Semester, bis ich C so weit begriffen hatte, dass ich anfing, die Sprache zu mögen. Und es ist bis heute mein Favorit unter den Programmiersprachen geblieben.
Das kann ich gar nicht glauben!
Seid Ihr schon so blind, dass Ihr selbst die einfachsten Fehlerquellen nicht mehr seht?
$dbncon = mysql_query("SELECT * FROM img_$uzerrofl WHERE imgtype='jpg'");
Wenn man stabile Programme schreiben will, ist die obige Inline-Ersetzung äußerst kontraproduktiv!
usw.
Grüße
TS