我希望对 strcmp 函数的调用返回 0,这意味着
int strncmp(const char *s1, const char *s2, size_t n);
const char *s1
并且const char *s2
应该包含相同的字符串。如果s2
指向字符串“hello”并且n
是 4,我如何传递给s1
也对应的十进制值hello
?
8049e87: c7 44 24 08 04 00 00 movl $0x4,0x8(%esp) // 4
8049e8e: 00
8049e8f: c7 44 24 04 80 bd 04 movl $0x804bd80,0x4(%esp) // the constant is "hello"
8049e96: 08
8049e97: 89 04 24 mov %eax,(%esp) // The contents of %eax are a decimal (%d)
8049e9a: e8 61 ec ff ff call 8048b00 <strncmp@plt>
8049e9f: 85 c0 test %eax,%eax // I want this to be 0!
我尝试在 ASCII 中传递“h”的十进制值,这似乎是正确的方向,但并不完全。