Я пытаюсь выучить указатели, и я просто столкнулся с ситуацией, которую я не понимаю.
int main()
{
int num[3][2]={3,6,9,12,15,18};
printf("%d %d",*(num+1)[1],**(num+2));
}
В соответствии с тем, что я узнал, выход должен быть:
12 15
но на самом деле это:
15 15
Почему? Просьба пояснить, как все вычисляется здесь, так как, по моему мнению, сначала *(num+1) вычисляется и указывает на 1-й, т.е. {9,12}, а затем [1] следует разыгрывать первый элемент i.e 12.
Я использую компилятор GCC.