Also habe ich etwas entdeckt, das mich für eine Weile nervt. Ich bin noch neu in der C Sprache.Weird Interaktion mit Zeigern in C
Der Code, den ich spreche, ist hier und seine eine Implementierung von strcmp: http://pastebin.com/VeHGm8sD
Die seltsame Sache über dieses Programm ist, dass, wenn Sie 12, die jeweils in den Zeilen ändern 13
*first_string++; // should increment value of char ??
*second_string++;
zu
first_string++; // should increment address
second_string++;
Sie beide erhöhen die Adresse jedoch. Wie ist das möglich ?
Lesen Sie auf [Operator Vorrang] (http://en.cppreference.com/w/c/language/operator_precedence). Die Priorität des Post-Increment-Operators befindet sich ganz oben im Diagramm oberhalb des Dereferenzierungsoperators. –
Es ist schwer zu verstehen, was mit '* first_string ++;' gemeint war. Offensichtlich wollten sie 'first_string' erhöhen. Also warum ist das '*' überhaupt da? –
Das ist ein guter Punkt, @DavidSchwartz. Die verlinkte 'strcmp()' Implementierung erscheint ein wenig abgeschlachtet - als ob eine kompakter geschriebene Version ungeschickt umgeschrieben worden wäre, um es klarer zu machen. –