Печать строки ввода пользователя между другой строкой - PullRequest
0 голосов
/ 20 июня 2020

В начале моего кода у меня есть приветственный заголовок, в который я пытаюсь вставить имя кого-то между ними. Проблема в том, что вторая часть приветственной фразы отправляется ниже первой приветственной фразы и имени. Моя цель - получить полную приветственную фразу в той же строке

.data
    title1: .asciiz "Welcome "
    Name: .asciiz "Insert your name \n"
    Username: .space 10
    title2: .asciiz  "to a quiz about Comouter Science and Engineering!\n"


.text

    li $v0, 4            #Display insert name phrase
    la $a0, Name
    syscall
    
    li $v0, 8              #Input User name
    la $a0, Username
    li $a1, 20
    syscall
    
# Show full Welcome  phrase
    li $v0, 4 # Prepare system call for print string
    la $a0, title1 # Prepare string to print
    syscall # Print the string 

    li $v0, 4
    la Sa0, Username
    syscall

    li $v0, 4
    la Sa0, title2
    syscall

Это результат

Вставьте свое имя:

John Doe

Добро пожаловать, Джон Доу

на викторину по информатике и инженерии!

1 Ответ

0 голосов
/ 21 июня 2020

Новая строка, которую вы видите в выводе, - это новая строка, которую вы ввели для завершения ввода. Поэтому перед выводом имени вы должны найти первый \ n и заменить его на символ конца строки \ 0. После этого его можно безопасно распечатать.

...