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 是什么意思

解决方案 »

  1.   

    ss[0].a+ss[1].b 是什么意思
    ---
    就是 1+5 啊
      

  2.   

    1+5
    ss[0].a,struct变量的a值
      

  3.   

    ss[0].a 是第一个数组的第一个数,ss[1].b是第二个数组的第二个数
    所以 1+5=6
      

  4.   

    ss是结构abc声明的变量类型
    其中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
      

  5.   

    大哥你不会断点调试吗?
    然后跟踪变量ss[0].a 和 ss[1].b,并看清楚ss[0]中的所有数据和ss[1]中的所有数据不就可以解决了!
      

  6.   

    看下struct  和数组 的用法吧
      

  7.   

    ss[0].a是第一个abc对象的a值,也就是1
    ss[1].b是第二个abc对象的b值,也就是5
    所以结果是6