Мой C код:Невозможно понять правильный вывод моей программы C
void main()
{
int a=5,b=6,c=11;
clrscr();
printf("%d %d %d");
getch();
}
Когда я скомпилировал его, он дает компиляции ошибки времени, но ответ на этот вопрос: 11 6 5
Я не могу понять, как вывод 11 6 5
Пожалуйста, кто-нибудь скажет правильный результат с правильным объяснением.
Благодаря
_»Ответ на этот вопрос это ... »_ выбросить эту книгу в корзину – P0W
Причина, по которой« ответ »указан как 11 6 5, заключается в том, что человек, который написал вопрос, предполагает, что значения 5, 6 и 11 все еще будут сидеть на стек стека, когда вызывается printf, и что он будет действовать так, как если бы это были th e аргументов функции. Но нет никакой гарантии, что машина будет вести себя таким образом, когда вы запустите программу, и надлежащий компилятор (как вы уже нашли) откажется от компрометации, как это. Другие ответчики правы, что это неопределенное поведение, и тот, кто написал этот вопрос, должен вернуться в школу. –