Почему в этом выражении порядок выполнения операций не гарантируется?
#include <stdio.h>
int sum;
char *p;
/*...*/
sum = (((sum * 10) - '0') + ((*(p++)) = (getchar())))
С точки зрения черновика C2x.
UP Ссылка на черновик стандарта: open C202x draft Приведённый пример находится на странице 5.1.2.3 Program execution, Example 7.