我已经反汇编了一个程序(在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
呢?
只是想确认一下。提前谢谢!
1条答案
按热度按时间1hdlvixo1#
%du
不是有效的转换说明符。这只是一个%d
,后面跟着字母u
,就好像程序员打算像123u
那样给它们的输入/输出加上u
后缀。