c语言,用一些代码编译成功了但是打开这些程序时只显示按任意键继续,这些代码有什么问题?

第一个程序的代码:

#include "stdio.h"
struct stu
{
    int num;
    char *name;
    char sex;
    float score;
}boy[5]={
            {101,"Li ping",'M',45},
            {102,"Zhang ping",'M',62.5},
            {103,"Hei fang",'F',92.5},
            {104,"Cheng ling",'F',87},
            {105,"Wang ming",'M',58},
              
        };
main()
{
    int i,c=0;
    float ave,s=0;
    for(i=0;i<5;i++)
    {
        s+=boy[i].score;
        if(boy[i].score<60)
        {
            c+=1;
        }
    }
    printf("s=%f\n,s");
    ave=s/5;
    printf("average=%f\ncount=%d\n",ave,c);
    system("pause");
    return 0;
}
第二个程序的代码:

#include <stdio.h>
#include <stdlib.h>
main()
{
    struct stu
    {
        int num;
        char *name;
        char sex;
        float score;
    }boy2,boy1={102,"Zhang ping",'M',78.5};
    boy2=boy1;
    printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
    printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
    system("pause");
    return 0;
}
第三个程序的代码:

#include <stdio.h>
#include <stdlib.h>
main()
{
    struct stu
    {
        int num;
        char *name;
        char sex;
        float score; 
    }
    boy1,boy2;
    boy1.num=102;
    boy1.name="Zhang ping";
    printf("input sex and score\n");
    scanf("%c%f",&boy1.sex,&boy1.score);
    boy2=boy1;
    printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
    printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
    system("pause");
    return 0;
}
这三个程序的代码出了什么问题呢?

 

scanf("%c%f",&boy1.sex,&boy1.score); 改为 scanf("%c %f",&boy1.sex,&boy1.score);

没输出内容吗?能正常编译没报错,代码应该没问题

scanf里面少了一个空格。

 printf("s=%f\n,s");改成 printf("s=%f\n",s);

main函数要有返回值类型 int main()

请采纳,谢谢!

第一个程序,main()函数里printf("s=%f\n,s");改为printf("s=%f\n",s);

第三个程序:scanf("%c%f",&boy1.sex,&boy1.score);改为scanf("%c %f",&boy1.sex,&boy1.score);

%c和%f之间加空格

如有帮助,请采纳一下,谢谢。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632