← 2022 · 海思 笔试

推荐答案 测试一下

在System Verilog 中,调用 $write可以自动地在输出后进行换行。

A.正确 B.错误
单选题 中等 笔试真题单选

参考答案

B.错误。 $write 是 SystemVerilog 中用于格式化输出文本的系统函数,其行为与 C 语言中的 printf 类似,不会自动添加换行符。每个 $write 调用输出的内容会连续拼接在同一行,直到遇到显式的换行控制符(如换行转义序列 \n)或调用 $display 这类自动换行的函数。与 $write 相对的是 $display,后者每次调用后会自动输出一个换行符,因此更适合单行信息的输出。 本题的考点在于区分 $write 和 $display 的换行行为。易错点在于考生可能混淆两者,或想当然地认为所有打印函数都会自动换行。在实际编码中,需要根据需求选择合适的输出函数:若希望在一行内连续输出多个值(如循环中打印数组元素),则应使用 $write;若希望每条信息独立一行,则使用 $display 或在 $write 中手动添加 \n。 例如: - $write("Hello "); $write("World"); // 输出: Hello World(同一行) - $display("Hello "); $display("World"); // 输出: Hello (换行) World(新一行) - $write("Hello \n"); $write("World"); // 输出: Hello (换行) World(由于第一个$write带了\n,World在新行) 因此,题目描述“调用 $write可以自动地在输出后进行换行”是错误的。

涉及知识点

  • $write 系统函数行为
  • $display 与 $write 的换行差异
  • 格式化输出转义序列
  • Verilog/SystemVerilog 打印函数使用场景
← 上一题
登录后反馈错题
下一题 →