c语言用函数做参数 c语言有参数函数调用例子( 四 )


movl $0, %ebx
incl %ebx
incl %ebx
incl %ebx
movl %ebx, 8(%esp)
movl %ebx, 4(%esp)
movl %ebx, (%esp)
call _func
汇编显示,先将n自增了3次变为3,然后调用函数,因此都是3
第二个问题的汇编:
movl $3, 16(%esp)
movl $98, 12(%esp)
movl $2, 8(%esp)
movl $97, 4(%esp)
movl $1, (%esp)
call _func2
可以看出参数对应的栈地址应该是连续的
另外,这个程序在VC6下的结果完全不一样:
func for n++
000
12ff2c12ff3012ff34
func for ++n
321
12ff2c12ff3012ff34
func2
12ff2412ff2812ff2c12ff3012ff34
但是最后的地址也是连续的 。
此类问题知道上问过多次了,可以说没有什么意义,结果与编译器实现相关 , 实际编程没有用处,除非写代码的人喜欢玩花俏
【c语言用函数做参数 c语言有参数函数调用例子】关于c语言用函数做参数和c语言有参数函数调用例子的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读