Akisane 2022-07-29 18:40 采纳率: 100%
浏览 25
已结题

初学者请教当函数参数为i++时是怎么执行程序的

比如一个函数
int f(int y)
{
return((y)*(y))
}
当i=1,参数为i++的时候是怎么处理的呢,我自己在不同编译器上执行出来的结果不一样。
网页编译器2 6 12 20 30...
vs20221 4 9 16 25...
原本我对i++还稍微懂一点点,这程序结果直接让我又懵逼了,求指点迷津!

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-07-29 18:49
    关注

    i++作为参数时,实际就是传递i的当前值,++得等函数执行完以后再加1
    VS上确实如此
    其它编译器可能有不同理解吧

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

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月29日