0

如何在输入单词的每两个字符之间添加一个空格,然后打印出来。

在我的程序中,它可以反转字符串

Loop:

        sub     $t2, $t2, 1     #this statement is now before the 'load address'
        la      $t0, buffer($t2)   #loading value
        lb      $a0, ($t0)
        syscall


        bnez    $t2, Loop       

        li      $v0, 10              #program done: terminating
        syscall
        jr $ra

我的结果

输入字符串:Hello

原来的:Hello

反转:olleH

但是如何在输入单词的每两个字符之间添加一个空格

输入字符串:Hello

原来的:H e l l o

反转:o l l e H

4

1 回答 1

0

您提供的代码正在打印存储在缓冲区中的反转字符串,但反转的字符串没有存储回来。如果这是您的意图,那么您只需要在打印每个字符后打印一个空格即可。

bnez $t2, Loop这是通过在打印每个字符的系统调用之后(在 之前)添加这两行来完成的

  li $a0, ' '
  syscall
于 2012-12-26T18:33:53.083 回答