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

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 单片机配网,继电器开关,广播
  • ¥60 Qcustomplot绘制实时动态曲线
  • ¥20 运用matlab画x-y图
  • ¥15 用idea运行项目,运行tomcat报错:断言失败
  • ¥15 Sqlserver查询链接服务器数据问题
  • ¥15 Bibtex4Word 引用中文文献
  • ¥20 用opencv c/c++ 转换成灰度图,然后做一下直方图均衡,输出mp4文件
  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池