我正在制作一个程序,其中传递结构作为参数,但我有错误

void main()
{
    struct strucintcal
    {
        char name[20];
        int numb;
        float amt;
    } xyz;

    void intcal(struct strucintcal);

    printf("\n Enter Customer Name: ");
    gets(xyz.name);

    printf("\nEnter Customer Nuber: ");
    scanf("%d",&xyz.numb);

    printf("\nEnter principal aomunt: ");
    scanf("%f", &xyz.amt);

    intcal(xyz);

    getch();
}

链接器错误:未定义符号

最佳答案

您需要定义void intcal(struct strucintcal);

void intcal(struct strucintcal s)
{
    s.field...
}

此外,通常最好通过指针传递结构:
void intcal(struct strucintcal *s)
{
    s->field...
}

08-19 20:14