文章

363

粉丝

0

获赞

0

访问

73.7k

头像
2025年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月23日 16:53
阅读数 69

1):进程控制块位于内核区,执行scanf( )等待键盘输入时,该进程处于阻塞态;

2):main( )函数的代码位于只读代码段,其直接调用的scanf, printf需要通过执行驱动程序实现

3):变量ptr被分配在运行时堆,若变量length没有被分配在寄存器中,则会被分配在用户栈,ptr指向的字符串位于可读写数据段;


评分及理由

(1)得分及理由(满分2分)

学生回答:进程控制块位于内核区,执行scanf()等待键盘输入时,该进程处于阻塞态。这与标准答案完全一致,因此得2分。

(2)得分及理由(满分3分)

学生回答:main()函数的代码位于只读代码段,其直接调用的scanf、printf需要通过执行驱动程序实现。这与标准答案完全一致,因此得3分。

(3)得分及理由(满分3分)

学生回答:变量ptr被分配在运行时堆(错误),若变量length没有被分配在寄存器中,则会被分配在用户栈(正确),ptr指向的字符串位于可读写数据段(错误)。

扣分理由:

  • ptr是全局变量,应分配在可读写数据段,而不是运行时堆。此处存在逻辑错误,扣1分。
  • ptr指向的字符串是通过malloc动态分配的,应位于堆区,而不是可读写数据段。此处存在逻辑错误,扣1分。
  • length的分配位置正确,不扣分。
  • 本小题共扣2分,得1分。

题目总分:2+3+1=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发