当前位置:   article > 正文

C语言strlen会返回空格,〔惨痛教训〕在循环中用strlen要小心大坑

strlen遇到空格

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

.file "str.cpp"

.def ___main; .scl 2; .type 32; .endef

.section .rdata,"dr"

LC0:

.ascii "%s\0"

.text

.p2align 2,,3

.globl _main

.def _main; .scl 2; .type 32; .endef

_main:

LFB12:

pushl %ebp

LCFI0:

movl %esp, %ebp

LCFI1:

andl $-16, %esp

LCFI2:

pushl %edi

LCFI3:

pushl %esi

LCFI4:

pushl %ebx

LCFI5:

subl $100, %esp

LCFI6:

call ___main

leal 16(%esp), %esi

movl %esi, 4(%esp)

movl $LC0, (%esp)

call _scanf

xorl %ebx, %ebx

jmp L2

.p2align 2,,3

L3:

movsbl (%esi,%ebx),%eax

movl %eax, (%esp)

call _putchar

incl %ebx

L2:

movl $-1, %ecx

movl %esi, %edi

xorl %eax, %eax

repne scasb

notl %ecx

decl %ecx

cmpl %ebx, %ecx

ja L3

movl $10, (%esp)

call _putchar

xorl %eax, %eax

addl $100, %esp

popl %ebx

popl %esi

popl %edi

leave

ret

LFE12:

.def _scanf; .scl 2; .type 32; .endef

.def _putchar; .scl 2; .type 32; .endef

O3优化的之后的汇编文件 我跟本找不到strlen在那调用的。。。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/609499
推荐阅读
相关标签
  

闽ICP备14008679号