gpt4 book ai didi

c - 接收到结构数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:46 25 4
gpt4 key购买 nike

你好,我正在尝试为我的结构数组获取参数,但是当我尝试使用“scanf”时,它给了我一个错误

subscripted value is neither array nor pointer

如果你能帮助我理解它的结果以及我如何解决它,我会很高兴。 谢谢

我的代码-

#include <stdio.h>
#include <stdlib.h>

#define N 6

struct player
{
char name[20];
float height;
float points_number;
int vest_number;
};

int main()
{
struct player basketball;
int i,j;

for(i = 0; i < N ; i++)
{
for(j = 0 ; j < N ; j++)
{
printf("Enter player name: \n");
scanf("%s",basketball[i].name[j]);
}
printf("Enter Player height: \n");
scanf("%f",&basketball[i].height);
printf("Enter average number of points: \n");
scanf("%f",&basketball[i].points_number);
printf("Enter vest number: \n");
scanf("%d",&basketball[i].vest_number);
}

}

最佳答案

您只声明了 1 个 struct player basketball; 但您尝试使用 6 个。这不好。而 char name[20] 并不意味着你有 20 个字符串,而是你有 1 个最多 20 个字符。

您应该为播放器动态分配内存或使用数组。

当您使用 scanf 时,您需要传入您尝试读入的数据的地址

关于c - 接收到结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22906879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com