文章
393
粉丝
0
获赞
2
访问
35.3k
(1)内核区。 阻塞态
(2)只读代码段,scanf printf
(3)可读写数据段 运行时堆 用户栈
评分及理由
(1)得分及理由(满分2分)
学生答案:“内核区。 阻塞态”。该答案与标准答案“进程控制块位于内核区,执行scanf()时进程处于阻塞态”完全一致。因此,本题得2分。
(2)得分及理由(满分3分)
学生答案:“只读代码段,scanf printf”。该答案指出main()函数代码位于只读代码段,并正确识别出直接调用的scanf()和printf()函数需要通过驱动程序实现。答案与标准答案一致。因此,本题得3分。
(3)得分及理由(满分3分)
学生答案:“可读写数据段 运行时堆 用户栈”。该答案指出ptr位于可读写数据段,ptr指向的字符串位于运行时堆,这两点完全正确。但答案将变量length的存储位置误判为用户栈。根据标准答案,length是main函数内的局部变量,若未分配在寄存器中,则应位于用户栈。因此,学生答案中“用户栈”对应的是length的位置,但学生将其放在了第三个空(ptr指向的字符串的位置),而将“运行时堆”放在了第二个空(length的位置),导致答案顺序错乱,逻辑错误。应扣1分。本题得2分。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发