给我出一道简单c语言的改错题
时间: 2024-10-18 11:22:49 浏览: 30
C语言改错题汇总.doc
5星 · 资源好评率100%
当然可以,这里有一个简单的 C 语言程序,包含了一个常见的错误。试着找出并修复它:
```c
#include <stdio.h>
void print_numbers(int n) {
int i;
for (i = 0; i <= n; ++i) { // 错误行:这里是 'i <= n' 而不是 'i < n'
printf("%d ", i);
}
}
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int array_size = sizeof(numbers); // 获取数组大小
print_numbers(array_size); // 调用函数打印数组元素
return 0;
}
```
错误在于 `print_numbers` 函数内的循环条件,它应该设置为 `i < n` 而非 `i <= n`,因为我们需要在 `n` 的值之前停止迭代。
修复后的代码应该是这样的:
```c
for (i = 0; i < n; ++i) { // 更正了这里
printf("%d ", i);
}
```
现在你可以尝试运行这个修改过的程序,并思考为什么原始版本会产生错误。
阅读全文