narry元素之间加逗号和不加逗号有什么区别
时间: 2023-06-04 13:03:38 浏览: 77
加逗号和不加逗号的区别在于,加逗号可以将元素隔开,使得读者更加清晰地阅读和理解元素的关系和含义,而不加逗号则需要读者自己去推断和理解元素之间的关系。在某些语境中,加或者不加逗号可能会对表达产生不同的效果和理解。
相关问题
程序改错。以下程序用于打印输出结构体数组的所有元素。 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 ); } }
以下是改错后的程序:
```
#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. 结构体数组 a 的初始化方式:应该使用花括号括起来的对结构体成员的初始化列表,每个结构体成员之间应该用逗号分隔。
2. 循环中的指针类型应该是 struct s 类型指针,而不是 int 类型指针。
3. 循环条件应该是 p < a + 3,因为 a + 3 是指向 a 数组中最后一个元素的下一个位置的指针,超出了数组的范围,循环会停止。
需要注意的是,在结构体成员的初始化列表中,可以省略不用初始化的成员,例如:`struct s a[3] = {{"John", 19}, {"Paul", 17}, {"Marry"}};` 可以省略最后一个结构体成员 age 的初始化。
阅读全文