gpt4 book ai didi

c - 得到意外的输出

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:42 26 4
gpt4 key购买 nike

谁能帮我理解以下代码的输出是 3 2 15 吗?

我期望输出为:2 2 15 因为

  • 首先元素 a[1]1 将被预递增并且 i 将被分配 2,
  • 然后 j 也将被分配 2 因为后增量已经完成,
  • 对于ma[i++] 应该是a[2]15 ,因为后递增已经完成并且 m 应该被分配 15

如果我错了,请帮助我。

#include<stdio.h>
int main()
{
int a[5]={5,1,15,20,25};
int i,j,m;
i=++a[1];
j=a[1]++;
m=a[i++];
printf("%d %d %d\n",i,j,m);
return 0;
}

最佳答案

int a[5]={5,1,15,20,25};

a[1] 增加到 2,并将 i 设置为 2

i=++a[1]; 

j 设置为 a[1] (2),然后a[1] 增加到 3

j=a[1]++;

m 设置为 a[i](a[2] 或 15),然后 递增i 到 3

m=a[i++];

关于c - 得到意外的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com