#include <stdio.h> void fun(int a[]); int main() { int data[10]={12,15,13,14,11,16,10,8,9,18}; int i=0; fun(data); printf("%d\n",data[i]); return 0; } void fun(int a[]) { for(int i=0;i<10;i++){ a[i]=a[i]+10; }
时间: 2024-03-20 18:43:24 浏览: 8
这段代码存在一个问题,就是在 `printf` 函数中访问了未初始化的变量 `i`。因为 `i` 的作用域是在 `main` 函数中,而 `printf` 函数中的 `i` 可能是一个随机值。应该将 `i` 在 `main` 函数中的声明提到函数开头,或者直接在 `printf` 函数中使用下标访问数组。
改正后的代码如下:
```c
#include <stdio.h>
void fun(int a[]);
int main() {
int data[10] = {12, 15, 13, 14, 11, 16, 10, 8, 9, 18};
int i;
fun(data);
printf("%d\n", data[0]);
return 0;
}
void fun(int a[]) {
int i;
for (i = 0; i < 10; i++) {
a[i] = a[i] + 10;
}
}
```
输出结果为 `22`,表示数组第一个元素加上了 10。
相关问题
#include <stdio.h> void fun(int a[]); int main() { int data[10]={12,15,13,14,11,16,10,8,9,18}; int i=0; fun(data); return 0; } void fun(int a[]) { int i=0; for( i=0;i<10;i++){ a[i]=a[i]+10; }}
这段代码没有明显的问题,只是在 `main` 函数中没有输出修改后的数组,可以添加一行代码将数组输出来。
改正后的代码如下:
```c
#include <stdio.h>
void fun(int a[]);
int main() {
int data[10] = {12, 15, 13, 14, 11, 16, 10, 8, 9, 18};
int i;
fun(data);
for (i = 0; i < 10; i++) {
printf("%d ", data[i]);
}
printf("\n");
return 0;
}
void fun(int a[]) {
int i;
for (i = 0; i < 10; i++) {
a[i] = a[i] + 10;
}
}
```
输出结果为 `22 25 23 24 21 26 20 18 19 28`,表示数组每个元素都加上了 10。
#include <stdio.h> int fun(int a[]); int main() { int data[10]={12,15,13,14,11,16,10,8,9,18}; int i=0; fun(data[10]); printf("%d\n",data[10]); return 0; } void fun(int a[]) { for(i=0;i<10;i++){ a[i]=a[i]+10; }
这段代码存在几个问题:
1. 函数声明和定义之间的参数不一致。函数声明中的参数是 `int a[]`,而函数定义中的参数是缺少类型和名称的 `a[]`。应该将函数定义中的参数改为 `int a[]` 或者 `int *a`。
2. 函数调用时传递的参数不正确。应该传递数组名 `data`,而不是 `data[10]`。
3. 变量 `i` 没有在 `fun` 函数中声明,应该在函数内部声明。
改正后的代码如下:
```c
#include <stdio.h>
void fun(int a[]);
int main() {
int data[10] = {12, 15, 13, 14, 11, 16, 10, 8, 9, 18};
int i = 0;
fun(data);
for (i = 0; i < 10; i++) {
printf("%d ", data[i]);
}
printf("\n");
return 0;
}
void fun(int a[]) {
int i;
for (i = 0; i < 10; i++) {
a[i] = a[i] + 10;
}
}
```
输出结果如下:
```
22 25 23 24 21 26 20 18 19 28
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)