qyj226 2024-01-27 17:39 采纳率: 100%
浏览 5
已结题

c++中的++操作的理解问题

img

求问这里k在第一次执行时,为什么是A[1] = 0;而不是A[0]=0;

img

后来我加入了l变量,执行第一次时,A[0]=0;符合预期,但还是不理解上面为什么会在赋值的过程中对k进行了++操作

  • 写回答

1条回答

  • Norcor 2024-01-27 18:08
    关注

    不要这么写,C++标准里写过,这种写法是未定义的结果,你甚至无法确认每种不同编译器执行这条语句结果一致。
    标准里写过,在一个语句里读取一个变量并且写入两次,这种行为是未定义的。
    如果是你写的代码,那就让自己记住不要这么写
    如果是老师出的题目,这种错误的、有害的题目不做也罢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月12日
  • 已采纳回答 2月4日
  • 创建了问题 1月27日