ZKX's LAB

c语言递归理解不了,跟汉诺塔有什么关系?等以后理解可以吗? c语言递归汇编层原理

2021-04-25知识8

c语言递归理解不了,跟汉诺塔有什么关系?等以后理解可以吗? 你要想用递归,这样用:int fun(int x){if(x>;100)return x;return fun(2*x);}它和下面的代码原理类似,下面是非递归。int fun(int x){while(x){x*=2;}return x;}

有大神能把这段汇编翻译成c语言的递归函数吗 汇编翻译成c语言的递归函数Do you compile recursive functions into C language?

汇编语言递归求C(n,k) 杨辉三角只是引导你推导或回忆起C(n,k)=C(n-1,k)+C(n-1,k-1)。然后利用它构建递归组合函数。并未要求输出杨辉三角,难道是输出范例中有要求?程序需满足:1,类型为x862,输入为键盘输入的2个64位无符号整数,忽略数字以外的其他字符3,输出为标准输出4,参数传递方式为栈传值5,返回值存于rax6,其他:检查并报告溢出错误所有数字,中间值及结果都是64位Comb:push rbpmov rbp,rsppush rbxpush rdxmov rax,[rbp+16]mov rbx,[rbp+24]cmp rax,rbxjg pError;无符号转移je stopcondTest rax,raxje stopcondmov rdx,raxdec rbxdec raxpush rbxpush raxcall Combpush rbxpush rdxmov rdx,raxcall Combadd rax,rdxjmp exitstopcond:mov rax,1jmp exitpError:xor rax,raxjmp exitexit:pop rdxpop rbxmov rsp,rbppop rbpret

#c语言递归汇编层原理

随机阅读

qrcode
访问手机版