感谢。
.L2:
leal -4(%esp) ,%esp
leal -4(%ebp) ,%eax
pushl %eax
pushl readChar #"%c"
call scanf #call scanf for the char
(gdb) info registers
eax 0xffffced0 -12592 #the correct address of the place we want to insert the parameter
答案 0 :(得分:2)
这是一个常见的错误。问题在于这个陈述
pushl readChar
这会推送readChar中的long值,而不是readChar的地址。你需要的是:
pushl $readChar
请注意美元符号(' $')。