#include<stdio.h> void main() { int a[10],i,j,s; int *p; for(p=a;p<a+10;p++)scanf("%d",p); p=a; for(s=0,i=10;i<10;i++) s+=*(p+i); for(i=0;i<10;i++) printf("%3d",p[i]); printf("\ns=%d",s); } #include<stdio.h> void main() { int a[10],i,j,s; int *p; for(p=a;p<a+10;p++)scanf("%d",p); p=a; for(s=0,i=10;i<10;i++) s+=*(p+i); for(i=0;i<10;i++) printf("%3d",p[i]); printf("\ns=%d",s); }
时间: 2023-07-15 09:09:02 浏览: 119
这是两个相同的代码片段,它们都是使用 C 语言编写的。这段代码的功能是:从用户输入中读取 10 个整数,并将它们存储在数组 `a` 中。然后,通过指针 `p` 遍历数组 `a`,计算数组中所有元素的和,并将结果存储在变量 `s` 中。最后,使用循环打印数组 `a` 中的元素,并输出变量 `s` 的值。
需要注意的是,这段代码存在一个错误:在第一个循环中,变量 `i` 的初始值应该是 0,而不是 10。修正后的代码如下:
```c
#include<stdio.h>
void main()
{
int a[10],i,j,s;
int *p;
for(p=a;p<a+10;p++) scanf("%d",p);
p=a;
for(s=0,i=0;i<10;i++) s+=*(p+i);
for(i=0;i<10;i++) printf("%3d",p[i]);
printf("\ns=%d",s);
}
```
这样就可以正确运行并输出结果了。
阅读全文