gpt4 book ai didi

c - 如何初始化结构并从函数调用以在 main 中显示

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

我想创建一个结构并在 InitiateA 中初始化它们并在 DisplayA 中打印并在 Main 中调用它们。我尝试这样做,但似乎没有任何效果?

#include <string.h>

struct Penalty{
// Provide structure definition for Penalty here
double fine;
char Identity[20];
int i;
};

void InitiateA (struct Penalty data[]);
void DisplayA (struct Penalty data[]);

int main(){

struct Penalty rule[3];
struct i;

DisplayA(rule);

rule[0].fine = 20.00;
strcpy(rule[0].Identity, "Student" );

rule[1].fine = 30.00;
strcpy(rule[1].Identity , "Staff");

rule[2].fine = 50.00;
strcpy(rule[2].Identity , "Vendor");

for(i=0;i<3;i++) {
printf("%d%s",rule[i].fine,rule[i].Identity);
}

return 0;
}

我不确定如何将此函数调用到主函数

void InitiateA (struct Penalty data[]){
//intialize data here.
printf("identity\n");
printf("%d",rule[i].Identity);
return;
}

void DisplayA (struct Penalty data[]){
//display data here
printf("Fine : RM %d\n", data[i].fine);
return;
}

我做错了吗?

最佳答案

这是一个错误,在 InitiateA() 中:

printf("%d",rule[i].Identity);

你的意思是

printf("%d", data[i].Identity);

您不能引用变量 rule,它不在此时的范围内(它是 main() 中的局部变量)。

你需要这样调用它,从main():

InitiateA(rule);

关于c - 如何初始化结构并从函数调用以在 main 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43633711/

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