Поведение приращения поста в C
в C, Post Increment (например, I) увеличивает переменную, но возвращает исходное значение. Понимание его поведения имеет решающее значение в сложных выражениях.
рассмотрим следующий код:
int i = 5;
cout Это утверждение оценивает выражение i i-- i-i i, прежде чем вывести результат. Однако порядок оценки не определен, что приводит к непредсказуемому выводу (например, «45555»).
давайте разбим правило точки последовательности:
- точки последовательности: в C, определенные точки в коде, вынуждают оценку падных рабочих рабочих. Эти точки включают полуколоны (;), запятые (,) и конец оператора. Это приводит к неопределенному поведению.
- Пример:
int x = 20, y = 35;
x = y y x y;
] это выражение оценивается в следующем порядке: int x = 20, y = 35;
x = y y x y ;
y: urments y до 36 и возвращает 35 (исходное значение y).
x: urments x до 21 и возвращает 20 (исходное значение x). y). - x: увеличение x to 22 и возвращает 21 (исходное значение x).
-
Следовательно, конечное значение x составляет 126 (35 36 20 21), в то время как y - 37. -
- undud в неопозиционных выражениях. Очень важно понимать точки последовательности и избегать побочных эффектов на одну и ту же переменную в непоследованном контексте.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3