Я нашел функцию, которая вычисляет квадрат числа:
int p(int n) {
int a[n]; //works on C99 and above
return (&a)[n] - a;
}
Возвращает значение n 2. Вопрос в том, как это делается? После небольшого тестирования я обнаружил, что между (&a)[k] и (&a)[k+1] есть sizeof(a)/sizeof(int). Почему это?
