如何在调式结构体的时候,不知道这个printf("%5s?

img


在调式结构体的时候,不知道这个printf("%5s;%d\n", leader[i].name, leader[i].count);问题出现在哪里

循环变量用i啊,你怎么用j?

img

首先你的 for 结束之后i的值是10,而你的结构体数组只有三个元素

img


虽然我不知道你代码具体要表达什么意思,但是我修改的如下


struct Preson
{
    char name[20];
    int count;
}leader[3] = { {"LiLi",0 }, {"zhang", 0}, {"Fan", 0} };

int main()
{
    int i = 0;
    int j = 0;
    char leader_name[20] = { 0 };
    for (i = 1; i <= 10; i++)
    {
        if (strcmp(leader_name, leader[j].name) == 0)
        {
            leader[j].count++;
        }
    }
    printf("\nRet\n");
    for (j = 0; j < 3; j++)
    {
        printf("%5s;%d\n", leader[j].name, leader[j].count);
    }
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^