.29. 2022-01-07 09:22 采纳率: 50%
浏览 145
已结题

C语言使用scanf输入数据后,显示访问冲突怎么解决?

问题:


# include<stdio.h>
int main()
{
    struct Student
    {
        int num;
        char name[29];
        int score;
    }a, b;
    printf("请输入第一个学生的学号 姓名 分数:");
    scanf_s("%d,%s,%d",&a.num,&a.name,&a.score,sizeof(a.name));
    printf("请输入第二个学生的学号 姓名 分数:");
    scanf_s("%d,%s,%d",&b.num,&b.name,&b.score,sizeof(b.name));
    if (a.score > b.score)
        printf("较高分学生信息:\n num:%d\n name:%s\n score:%d\n", a.num, a.name, a.score);
    else if (a.score == b.score)
        printf("两学生成绩相同,不输出较高分学生信息。");
    else
        printf("较高分学生信息:\n num:%d\n name:%s\n score:%d\n", b.num, b.name, b.score);
    return;
}

运行后输入第一行数据,回车:

img

然后就显示冲突了:

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-01-07 09:39
    关注

    第12行修改为:scanf_s("%d %s %d", &a.num, a.name, sizeof(a.name), &a.score);
    第14行修改为:scanf_s("%d %s %d", &b.num, b.name, sizeof(b.name), &b.score);
    输入时,三个参数间以 空格符 间隔:1001 王五 90

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月15日
  • 已采纳回答 1月7日
  • 修改了问题 1月7日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答