Код: Выделить всё
int numIndex = 0;
int *indices = (int *)malloc(3 * sizeof(int));
indices[numIndex] = numIndex++;
indices[numIndex] = numIndex++;
indices[numIndex] = numIndex++;
for (int i = 0; i < 3; i++) {
NSLog(@"%d", indices[i]);
}
1 0 1
И
Код: Выделить всё
int numIndex = 0;
int indices[3];
indices[numIndex] = numIndex++;
indices[numIndex] = numIndex++;
indices[numIndex] = numIndex++;
for (int i = 0; i < 3; i++) {
NSLog(@"%d", indices[i]);
}
0 0 1
Я ожидаю вывода 0 1 2. Тот же код, использующий LLVM GCC 4.2, дает правильный результат. Есть ли какие-то флаги оптимизации, которые мне не хватает или я что-то не понимаю?
Подробнее здесь: https://stackoverflow.com/questions/111 ... rray-issue
Мобильная версия