Include Irvine32.inc
.data
prompt BYTE "Input two integers: ", 0
intA DWORD ?
intB DWORD ?
.code
MAIN PROC
mov edx, OFFSEt prompt
call WriteString
call ReadDec
mov intA, eax
call ReadDec
mov intB, eax
add eax, intA
call WriteDec
exit
MAIN ENDP
END MAIN
当我输入" 1 - >输入 - > 2"按顺序,该程序运作良好。 但是当我输入" 1 - >空格键 - > 2 - >输入"按顺序,程序输出1 我该如何解决?
答案 0 :(得分:2)
从标准输入读取一个32位无符号十进制整数,停止 按Enter键时。在a之前发生的所有有效数字 非数字字符将转换为整数值。领导 空格被忽略。
因此,根据"1 2<enter>"
的定义,输入1
应返回整数值ReadDec
。
如果要处理这样的输入,则必须将其作为字符串读取,将其解析为单独的小字符串(每个数字),然后您可以调用Irvine lib ParseDecimal32
(或{ {1}}),或创建自己的字符串 - &gt;数字转换。