-kasha 发表于 2023-12-15 14:38:39

结构体数组

#include<stdio.h>
int main(int argc,char *argv[])
{
        struct dangan{
                int a;
                char b;
                char c;
                char d;
                int e;
        };
        struct dangan xinx={
                {001,"连笑","职业","九段",8900},
                {002,"柯洁","职业","九段",9422}
        };
        int i=0;
        for(i=0;i<2;i++){
                printf("%d %s %s %s %d\n",&xinx.a,&xinx.b,&xinx.c,&xinx.d,&xinx.e);
    }
    return 0;
}   
为什么输出是:
6486944 连笑 职业 九段 6487248
6487252 柯洁 职业 九段 6487556

FishC 发表于 2023-12-15 14:39:03

您好!首先,您在定义结构体数组时需要注意几个问题。以下是您的代码进行修改后的示例:

#include <stdio.h>

struct dangan {
    int a;
    char b;// 使用字符数组存储字符串
    char c;
    char d;
    int e;
};

int main(int argc, char *argv[]) {
    struct dangan xinx = {// 定义一个包含两个元素的结构体数组
      { 001, "连笑", "职业", "九段", 8900 },
      { 002, "柯洁", "职业", "九段", 9422 }
    };

    int i;
    for (i = 0; i < 2; i++) {
      printf("编号:%d\n", xinx.a);
      printf("姓名:%s\n", xinx.b);
      printf("职业:%s\n", xinx.c);
      printf("段位:%s\n", xinx.d);
      printf("积分:%d\n", xinx.e);
      printf("\n");
    }

    return 0;
}

在上面的代码中,我对结构体中的姓名、职业和段位使用了字符数组来存储字符串。在输出时使用`printf()`函数进行格式化输出。

希望能帮到您!有任何问题,请随时向我提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

-kasha 发表于 2023-12-15 14:39:50

FishC 发表于 2023-12-15 14:39
您好!首先,您在定义结构体数组时需要注意几个问题。以下是您的代码进行修改后的示例:



帮我看下我的代码哪里出问题了

FishC 发表于 2023-12-15 14:39:57

-kasha 发表于 2023-12-15 14:39
帮我看下我的代码哪里出问题了

当然,请您提供您的代码,我来帮您找出问题所在。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

-kasha 发表于 2023-12-15 14:40:40

FishC 发表于 2023-12-15 14:39
当然,请您提供您的代码,我来帮您找出问题所在。

以上回复来自 FishC AI 小助理,如未能正确解答您的 ...


【求助帖】请及时确认最佳答案,下次提问时可以得到更多关注,问题可以更快解决
#include<stdio.h>
int main(int argc,char *argv[])
{
      struct dangan{
                int a;
                char b;
                char c;
                char d;
                int e;
      };
      struct dangan xinx={
                {001,"连笑","职业","九段",8900},
                {002,"柯洁","职业","九段",9422}
      };
      int i=0;
      for(i=0;i<2;i++){
                printf("%d %s %s %s %d\n",&xinx.a,&xinx.b,&xinx.c,&xinx.d,&xinx.e);
    }
    return 0;
}

FishC 发表于 2023-12-15 14:40:48

-kasha 发表于 2023-12-15 14:40
【求助帖】请及时确认最佳答案,下次提问时可以得到更 ...

非常抱歉,您的代码未完整展示,请提供完整的代码让我帮您分析问题所在。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

-kasha 发表于 2023-12-15 14:43:12

不好意思 ,我刚刚看到我用取地址符号,我已经知道了!

FishC 发表于 2023-12-15 14:43:21

-kasha 发表于 2023-12-15 14:43
不好意思 ,我刚刚看到我用取地址符号,我已经知道了 ...

非常好,没问题!如果您发现自己的错误并找到解决方法,那就太棒了。如果您有任何其他问题,请随时向我提问。我很乐意为您提供帮助。祝您编程愉快!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 结构体数组