Nie jestem pewien, czy oświadczenie poniżej jest dobrze zdefiniowany przez standardowe C lub nieCzy * p ++ + = 2 jest dobrze zdefiniowane?
*p1++ += 2;
lub innej podobnej klauzuli:
*E1++ <operator>= E2
od standardowych C o post-przyrostu:
Wynikiem operacji Postfiks ++ jest wartość argumentu operacji. Po uzyskaniu wyniku wartość argumentu jest zwiększana. (Oznacza to, że dodano wartość 1 odpowiedniego typu.) Zobacz dyskusje na temat operatorów dodatków i złożonych dla dla informacji o ograniczeniach, typach i konwersjach oraz o skutkach operacji na wskaźnikach. Efekt uboczny aktualizacji przechowywanej wartości argumentu będzie występować pomiędzy punktem poprzednim i następnym sekwencji.
I o coumpund-przypisania:
Przypisanie związek op postać E1 = E2 różnym od prostego przypisania ekspresji E1 = E1 op (E2), wyłącznie tym lwartością E1 ocenione tylko raz.
Cóż, co dokładnie wywołało podejrzenie, że może być nieokreślone? Dla mnie na przykład wszystko wygląda dobrze, co sprawia, że trudno mi nawet zacząć odpowiadać na pytanie: nie wiem na czym się skupić. – AnT
Nie pisz kodów w projekcie takim jak ten, z wyjątkiem badań nad nim. – wshcdr
Pisanie tego rodzaju nieczytelnego kodu, aby dodać więcej kodu w jednym wierszu, jest złym programowaniem. :) – Almo