关于#c语言#的问题:计算职工工资

这个是题目

img


这个是我的答案


#include
struct yuan
{
    char name[11];
    double a,b,c;
    double y;
};
int main()
{
    int n,i;
    scanf("%d",&n);
    struct yuan s[n];
    for(i=0;iscanf("%s %lf %lf %lf",s[i].name,&s[i].a,s[i].b,s[i].c);
        s[i].y=s[i].a+s[i].b-s[i].c;
    }
    for(i=0;iprintf("%s %.2lf\n",s[i].name,s[i].y);
    }
    return 0;
}

提交的时候显示段错误 请问我是哪里写错了啊?谢谢



#include<stdio.h>
struct yuan
{
    char name[11];
    double a,b,c;
    double y;
};
int main()
{
    int n,i;
    scanf("%d",&n);
    struct yuan s[n];
    for(i=0;i<n;i++)
    {
        scanf("%s %lf %lf %lf",s[i].name,&s[i].a,&s[i].b,&s[i].c);
        s[i].y=s[i].a+s[i].b-s[i].c;
    }
    for(i=0;i<n;i++)
    {
            printf("%s %.2lf\n",s[i].name,s[i].y);
    }
    return 0;
}

没有写&符号,望采纳

以下答案引用自GPT-3大模型,请合理使用:

应该是这一段出错了:
scanf("%s %lf %lf %lf",s[i].name,&s[i].a,s[i].b,s[i].c);

上面这段代码中,scanf输入的参数应该是:
scanf("%s %lf %lf %lf",s[i].name,&s[i].a, &s[i].b, &s[i].c);

要将s[i].b和s[i].c前面的&去掉。

如果我的回答解决了您的问题,请采纳我的回答

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632不知道你这个问题是否已经解决, 如果还没有解决的话:

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