增量操作的不可预测结果[英] Unpredictable result of Increment operation

问题描述

以下 C++ 代码的行为是否有任何原因?

诠释我;

我=1;cout <<(++i)++;输出:2

我=1;cout <<++(++i);输出:3

我=1;cout <<(i++)++;输出:错误.需要左值

我=1;cout <<++(i++);输出:错误.需要 LValue

推荐答案

bintom 写道:
以下 C++ 代码的行为是否有任何原因?

诠释我;

我=1;cout <<(++i)++;输出:2
因为这是荒谬的未定义行为.

--
伊恩·柯林斯.

伊恩·柯林斯写道:
bintom 写道:
>下面的 C++ 代码的行为有什么原因吗?

int i;

i=1;cout <<(++i)++;输出:2
因为这是荒谬的未定义行为.
为什么没有意义?为什么是未定义的?


--
邮件回复时请去掉大写的"A"
我不回复置顶的回复,请不要问

Victor Bazarov 写道:
伊恩·柯林斯写道:
>bintom 写道:
>>以下 C++ 代码的行为是否有任何原因?

int i;

i=1;cout <<(++i)++;输出:2
因为这是荒谬的未定义行为.

为什么没有意义?为什么未定义?
你是对的,两者都不是.抱歉,我看到的帖子太多了
是和做...

--
伊恩·柯林斯.

本文地址:https://www.itbaoku.cn/post/1050849.html