Неправильное увеличение переменных многомерного массива в C
Мне любопытно узнать поведение, в C, многомерного массива, увеличенного, как показано ниже:
int x[10][10];
y = x[++i, ++j];
Я знаю, что это неправильный путь. Я просто хочу знать, что делает компилятор в этом случае и каковы будут последствия, если программист сделает это в своем коде.
1 ответ:
Это оператор запятой, неправильно используемый.
++i, ++j
дает значениеj + 1
и имеет 2 побочных эффекта (Модификацияi
иj
). Все это в основном означает++i; y = x[++j]
. Который будет работать или нет, в зависимости от типаy
.Каковы будут последствия, если программист сделает это в своем коде
Ну, скорее всего, другие программисты будут бросать на него убийственные взгляды.