我的想法应该没问题,但是表示有很多问题 请指正一下,解释一下

img

img


就是这个,怎么讲f(x,y)正确从头到尾的表示正确,还想问问这里面还有没有问题,之类的

题主你好,我来给您指出几个问题。第一,您的f函数返回的double对应的主函数里面是%d应当是%lf。
第二,自定义函数的命名不要写成f(x,y)。我们尽量采用大驼峰形式或小写英文加_形式,如大驼峰:AbcDef,英文:abc_def这种形式。
第三,函数的声明和定义,如果不模块化程序的话,不用在同一源文件下声明。就是double f(x,y)(int x,int y);这句话去掉。
第四,if语句里面的&&是并且的意思,||才是或的意思。
如果有收获麻烦给个最佳回复并点赞。
下方有我给您修改后的代码:


#include<stdio.h>

double f(int x, int y)
{
    if (x <= 0 || y <= 0)
        return 1;
    else
        return (f(x - 1, y) + f(x, y - 1) + f(x - 1, y - 1));
}
int main()
{
    int x = 0;
    int y = 0;
    scanf("%d %d", &x, &y);
    printf("%lf", f(x, y));
    return 0;
}