程序运行是怎样的

程序运行是怎样的

1 个回答

智联智慧

提问:程序运行是怎样的

网友回答:

程序的运行结果为:

解析

主函数中数组 a[4]={1,2,3,4};a[0]~a[3],存放了1~4,a[4]未存放元素。

fun(int *a)函数的功能是对主函数中的a数组元素进行右循环移位,共四轮(i=4~1)。

i=4,第1轮循环移位的执行过程:for(j=M-1;j>=0;j--)
                                  *(a+j+1)=*(a+j);

① j=M-1=3, *(a+j+1)=*(a+j);即 *(a+4)=*(a+3);也即a[4]=a[3];

②同理,有j=2时,a[3]=a[2];

③同理,有j=1时,a[2]=a[1];

④同理,有j=0时,a[1]=a[0];

最后,*a=k;实现了a[0]=a[3];即实现了循环移位。

输出的就是上面运行结果图中的第一行。

同理,

i=3,第2轮循环移位后,输出的就是上面运行结果图中的第二行。

i=2,第3轮循环移位后,输出的就是上面运行结果图中的第三行。

i=1,第4轮循环移位后,输出的就是上面运行结果图中的第四行(恢复为原数组元素)。

  • 1 关注
  • 0 收藏, 浏览
  • 提出于

相似问题