我正在尝试通过以下方式使用scanf
.data
.balign 4
prompt: .asciz "Enter a string: "
.balign 4
scan: .asciz "%s"
.balign 4
string_in: .word 0
.text
.global main
main:
ldr r0, addr_scan
ldr r1, addr_string
bl scanf
我稍后还要在调用子字符串函数之前输入两个数字。当我输入没有空格的字符串时,该程序将运行。它提示我输入字符串,然后提示输入两个数字。但是,如果输入没有空格的字符串,例如“ test1 test2”,则会看到提示输入数字的提示,但不允许输入,传递给子字符串函数的参数仅为“ test1”。我认为“%s”格式允许使用空格,因此我希望有人可以向我解释为什么会这样。