Порядок оценки оператора подстрочного индекса

Существует ли какой-либо порядок оценки выражений в случае массива. Если выражение E имеет форму E1 [E2], где E1 и E2 также являются выражениями, это порядок оценки E1 и E2 исправлено?

Вот мой код:

#include<stdio.h>
int main(){

    int a[5] = {1,2,3,4,5}; 
    (a + printf("1"))[printf("2")];
    (printf("3"))[a + printf("4")];

    return 0;
}   

Он показывает вывод как: 1243

Я скомпилировал его с помощью gcc.

Спасибо.

5
задан Vipin Pillai 26 September 2011 в 14:35
поделиться