#include <stdio.h> int b(int a[10]) { int i, mun = 0; for (i = 0; i < 10; i++) { mun += a[i]; } return mun; } void main() { int num[10], mun; int *p[10]; printf("输入10个整数:"); scanf_s("%d", &num[10]); *p = &num[10]; mun = b(*p); printf("这10个数和为%d", mun); }
时间: 2024-01-13 17:05:55 浏览: 81
这段代码存在一些问题。首先,在输入数字时应该使用循环语句,而不是只输入一个数字。其次,在将指针p指向num[10]时,应该是将其指向num数组的首地址,即*p = num。最后,main函数应该声明为int类型,以便返回一个整型值。以下是修改后的代码:
```
#include <stdio.h>
int b(int a[10]) {
int i, mun = 0;
for (i = 0; i < 10; i++) {
mun += a[i];
}
return mun;
}
int main() {
int num[10], mun;
int *p[10];
printf("输入10个整数:");
for (int i = 0; i < 10; i++) {
scanf_s("%d", &num[i]);
p[i] = &num[i];
}
mun = b(num);
printf("这10个数和为%d", mun);
return 0;
}
```
希望这个修改可以帮助你解决问题。
阅读全文