You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MIPS中输出带逗号空格分隔的数组元素?

问题:MIPS数组输出中,如何给逗号后添加空格?

期望输出格式:

Encrypted: 1, 2, 3, 4, 5, 6, 7

当前实现的输出(逗号后无空格):

Encrypted: 1,2,3,4,5,6,7

打印部分的代码片段:

la $a0,str1
    li $v0,4
    syscall

    li $a1,10
    li $s0,0
    la $a3,array
    addi $t5,$a1,-1

解决方法

核心逻辑是给除最后一个元素外的每个元素,添加「逗号+空格」的后缀,具体操作如下:

  1. 定义逗号加空格的字符串
    在代码的.data数据段中新增:
comma_space: .asciiz ", "
  1. 修改打印循环的后缀逻辑
    遍历数组时,每次打印完元素后,判断当前索引是否小于$t5(即不是最后一个元素),如果是则打印comma_space字符串:
loop:
    # 加载并打印当前数组元素
    lw $a0, 0($a3)
    li $v0, 1
    syscall

    # 判断是否为最后一个元素,是则跳过后缀打印
    bge $s0, $t5, end_loop

    # 打印逗号加空格
    la $a0, comma_space
    li $v0, 4
    syscall

    # 更新索引与数组指针
    addi $s0, $s0, 1
    addi $a3, $a3, 4
    j loop

end_loop:
    # 可在此添加换行、程序退出等操作
    li $v0, 10
    syscall

如果之前你是用单独的逗号字符串(.asciiz ","),直接替换成", "也能产生空格,但会在最后一个元素后多打一个后缀,因此必须保留「判断是否为最后一个元素」的逻辑,避免多余的后缀。

内容的提问来源于stack exchange,提问作者Yokurt321

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:50:37