C语言题目求大佬解答

2024-12-01 18:09:45
推荐回答(5个)
回答1:

  1. 3 2 3 1 2

    解答:注意,全局变量的a和函数形参局部变量的a是不同的,主函数里面的a指的是全局变量的a。不管是前缀自增还是后缀自增,a始终都要加1再输出,故主函数里的结果是a=2。++a表示a先加1再进入函数运算,此时f(++a)等价于f(1),其中a+=2表示a=3,b是静态类型,作用域是全局,--b表示b=2;同理,a++表示a先进入函数运算再加1,此时f(a++)等价于f(1)(因为这里的a是由全局变量a提供的,它现在是1),其中a+=2表示a=3,b是静态类型,作用域是全局,--b表示b=1。

  2. 11

    解答:递归规则:f(x)=f(x-1)+x-1

    递归出口:f(1)=1

    f(5)=4+f(4)=4+3+f(3)=4+3+2+f(2)=4+3+2+1+f(1)=4+3+2+1+1=11

回答2:

简单来说,x和y的值太大,导致它们的精度达不到小数点后3位,故而出现误差。使用double型可解决此问题。

回答3:

Xmod Y下面的自己想

回答4:

队长给你看

回答5:

咯哦旅途摸鱼