c语言问题:请问这个程序有什么问题

日期:2012-12-14 17:54:24 人气:1

c语言问题:请问这个程序有什么问题

没问题,我可以正常编译,正常跑,运行结果会打印两次字符 刚才调试了一下,跟踪了一下每一步寄存器的内容,总结一下原因,还请楼主看看哈: C语言函数的返回值是存在寄存器eax中,你在fun函数中调用了putchar函数,这个函数的原型是 int putchar(int ch);返回值是输出的字符,如果输出失败返回值为EOF,重点来了,这个函数(putchar)在执行结束后会把返回值写入到寄存器eax中,所以eax里面的内容就是该字符,在fun函数中即使没有明确的return语句,但寄存器eax中已经保存了
    A+
热门评论