Рассмотрим ниже программу на C ++ и прогнозируем ее вывод.
|
Вышеуказанное вызывает неопределенное поведение, ссылаясь как на «i», так и на «i ++» в списке аргументов. Не определено, в каком порядке оцениваются аргументы. Разные компиляторы могут выбирать разные заказы. Один компилятор также может выбирать разные заказы в разное время.
Например, ниже три оператора printf также могут вызывать неопределенное поведение.
|
Поэтому не рекомендуется использовать два или более двух операторов до или после приращения в одном выражении.
Это означает, что в этом процессе нет абсолютно никакого временного упорядочения. Аргументы могут быть оценены в любом порядке, а процесс их оценки может быть переплетен любым способом.
Эта статья предоставлена Spoorthi Aman . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Вложенный printf (printf внутри printf) в C
- Что такое использование% n в printf ()?
- Как напечатать% используя printf ()?
- Использование & в scanf (), но не в printf ()
- Cin-Cout против Scanf-Printf
- Передача NULL в printf в C
- В чем разница между printf, sprintf и fprintf?
- положить () против printf () для печати строки
- Как изменить вывод printf () в main ()?
- Возвращаемые значения printf () и scanf () в C / C ++
- Измерьте время выполнения функции в C ++
- Операторы в C | Набор 2 (реляционные и логические операторы)
- Измерьте время выполнения с высокой точностью в C / C ++
- Операторы в C | Набор 1 (Арифметические Операторы)
- Операторы в C / C ++
0.00 (0%) 0 votes