
回答你最后一句话的问题,改成你那样是错的:两个整型进行除法计算,你应该知道吧,会把小数部分忽略掉,(double)(a/b),就是把算出来的错误结果进行强制转换,没有任何意义;如果先对a进行强制转换,那么这个浮点数在和另一个整型数进行计算的时候,根据c语言的规则,整型数会自动转换成浮点数,算出来的结构就是正确的。
首先,long*t是按地址传送,所以这里就不用返回值了.
long
s1=10
*t=s%10这里是求余数,和10求余,100%是取个位上的数,也就是最低的奇数.然后进循环,先除100,也就是百位数,然后重复和上面一样的步骤,只不过需要往前进个位,所以需要s%10*s1,然后加上刚才的那个个位数.
不知道能不能明白我的意思.
1、fun(int n, int *p)是有两个参数,第二个参数是个指针,可以用于传递返回值。2、这个函数是一个递归函数,当n=1或2的时候,返回的是1,否则递归运行。初始n=6,这里假定把通过S返回的值作为函数的返回值。相当于下面的运算。
f(6,s)
=f(5,s) +f(4,s)
=f(4,s) +f(3,s) +f(3,s) +f(2,s)
=f(3,s)+ f(2,s)+f(2,s)+f(1,s)+f(2,s)+f(1,s)+1
=f(2,s)+f(1,s)+1 +1 +1 +1 +1 +1
=1 +1 +6
=8
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)