程序改错。以下程序用于打印输出结构体数组的所有元素。 struct s { char name[10]; int age; } main() { struct s a[3] = {”John”,19,”Paul”,17,”Marry”,18}; int *p; for(p = a; p < 3; p++) { printf("%s,%d\n", p->name, p->age ); }
时间: 2023-11-27 18:50:32 浏览: 61
Python打印输出数组中全部元素
3星 · 编辑精心推荐
以下是改正后的程序:
```c
#include <stdio.h>
struct s {
char name[10];
int age;
};
int main() {
struct s a[3] = {{"John", 19}, {"Paul", 17}, {"Marry", 18}};
struct s *p;
for(p = a; p < a + 3; p++) {
printf("%s,%d\n", p->name, p->age);
}
return 0;
}
```
主要的错误包括:
1. 结构体数组初始化时应该使用大括号 `{}` 而不是小括号 `()`
2. 在循环中应该使用 `struct s *p` 而不是 `int *p`
3. 在循环中应该使用 `p < a + 3` 而不是 `p < 3`,因为 `a` 是一个数组名,它的值是指向数组第一个元素的指针,所以应该使用 `a + 3` 表示数组中最后一个元素的下一个位置。
阅读全文