搜索
查看: 763|回复: 4
打印 上一主题 下一主题

关于结构体数组中的数不能参与计算的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-18 19:08:25 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
如下,写了一个结构体数组,想计算出里面的数,但结果为1,WHY?
-----------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
struct stu{
    int a;
    int b;
    char c;
    };
    struct stu abc[2][3]={
    {1,2,'a'},{2,3,'b'},{3,4,'c'},
    {10,20,'d'},{20,30,'e'},{30,40,'f'}
    };
    int i=0,k=0;
    for(i=0;i<3;i++)
  k+=abc[0][i].a;
    printf("%d\n",k);
system("pause");
return 0;
}
-------------------------------------------------------------------------------------------
我原来觉得随着i的增加,应该取到1.2.3三个值,结果为6才对,但结果为1,为什么呢?
沙发
 楼主| 发表于 2014-3-18 19:27:21 | 显示全部楼层
rosynirvana 发表于 2014-3-18 19:25
struct stu abc[2][3]={
    {{1,2,'a'},{2,3,'b'},{3,4,'c'}},
    {{10,20,'d'},{20,30,'e'},{30,40,'f ...

那如何初始化结构数组?
还有三维数组我也一直在采用这种方法初始化,有什么好的方法吗?谢谢
板凳
 楼主| 发表于 2014-3-18 21:00:28 | 显示全部楼层
rosynirvana 发表于 2014-3-18 19:59
数量少就一个个去写

struct foo one = {1, 2, 'a'};

谢谢,感恩大神,哈哈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表