“%du”格式说明符对于scanf意味着什么?

6yoyoihd  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(201)

我已经反汇编了一个程序(在IDA中),并偶然发现了以下代码块:

lea     ecx, [ebp+Str1]
push    ecx             ; char
push    offset aDu      ; " %du"
call    scanf
add     esp, 8
cmp     eax, 1

我试着搜索%du的含义,但没有成功。我知道%d表示十进制整数,%u表示无符号整数。
这是否意味着%du是一个无符号整型?如果是,我们为什么需要d呢?
只是想确认一下。提前谢谢!

1hdlvixo

1hdlvixo1#

%du不是有效的转换说明符。这只是一个%d,后面跟着字母u,就好像程序员打算像123u那样给它们的输入/输出加上u后缀。

相关问题