C语言下面程序的功能是将数组元素逆序输出 ,找出其中的错误并改正之。 #include "stdio.h" #define M 5 int main() { int a[M]={1,2,3,4,5}; int i; for(i=M;i>=1;i--) printf("%d ",(a+i)); return 0; } 注意: (1)请将修改正确后的完整源程序拷贝粘贴到答题区内。 (2)对于没有错误的语句,请不要修改,修改原本正确的语句也要扣分。 (3)当且仅当错误全部改正,且程序运行结果调试正确,才给加分。 (4)改错时不能改变程序原有的意图,也不要改变代码的输入输出格式。
时间: 2024-03-05 17:48:29 浏览: 69
C语言程序设计:第6章 数组 (3).ppt
修改后的程序如下:
```c
#include "stdio.h"
#define M 5
int main() {
int a[M]={1,2,3,4,5};
int i;
for(i=M-1;i>=0;i--)
printf("%d ",*(a+i));
return 0;
}
```
对比原程序,主要的错误有:
1. 在将数组元素逆序输出时,应该输出数组元素的值,而不是数组元素的地址,因此需要使用 `*(a+i)` 语句输出数组元素的值。
2. 在循环语句中,应该从 `M-1` 到 `0` 循环,因此需要将循环变量的初始值改为 `M-1`。
阅读全文