13.下列C语言代码的输出结果是___B____。
#include<stdio.h>
struct abc
{
int a,b,c;
};
void main()
{
struct abc ss[2]={{1,2,3},{4,5,6}};
printf("%d ",ss[0].a+ss[1].b);
}
A)5 B)6 C)7 D)8题是这样的``但不知道为什么得6 ss[0].a+ss[1].b 是什么意思
#include<stdio.h>
struct abc
{
int a,b,c;
};
void main()
{
struct abc ss[2]={{1,2,3},{4,5,6}};
printf("%d ",ss[0].a+ss[1].b);
}
A)5 B)6 C)7 D)8题是这样的``但不知道为什么得6 ss[0].a+ss[1].b 是什么意思
---
就是 1+5 啊
ss[0].a,struct变量的a值
所以 1+5=6
其中struct abc ss[2]={{1,2,3},{4,5,6}};这句代码我们可以看出
在声明ss结构变量的同时,给它初始化了值,第一组为1,2,3;其中加进去的123呢对应abc这个结构中的abc
而我们用ss[0].a呢其中0是一个访问下标,代表{1,2,3} 其中a的值为1,所以呢ss[0].a为1 这样就很容易看出下个ss[1].b来了
所以结果是1+5
然后跟踪变量ss[0].a 和 ss[1].b,并看清楚ss[0]中的所有数据和ss[1]中的所有数据不就可以解决了!
ss[1].b是第二个abc对象的b值,也就是5
所以结果是6