В C { a[i] = a[++i] } эквивалентно { a[i] = a[i+1]; я ++;}?
В С есть
a[i] = a[++i];
эквивалентно
a[i] = a[i+1]; i++;
То есть, какая сторона задания оценивается первой и какое значение i
используется на левой стороне? Или это назначение двусмысленное?
1 ответ
Решение
В той же точке последовательности вы используете и увеличиваете i
a[i] = a[i++];
что приведет к неопределенному поведению.
a[i] = a[i+1];
i++;
это хорошо.
И ответить на твой вопрос они одинаковы? Нет, они не!! Один, если четко определен, а другой нет.
Проверьте этот ответ