Я не могу понять, как работает следующий код:
#include<stdio.h>
int main() {
int i = 100;
int *a = &i;
float *f = (float *)a;
(*f)++;
printf("%d", *a); //getting some garbage value
}
«f» указывает на ту же ячейку памяти, что и «a». Таким образом, (*f)++
должен, в свою очередь, увеличить значение i до 101. Где я иду не так?