99乘法表,这里的return;是啥意思啊,自定义函数不是void类型嘛???

这里的return;是啥意思啊,自

#include <stdio.h>
 
void func(int i, int j)
{
    if(i>j)
        return;//这个是啥意思? 
    printf("%dx%d=%d\t", i, j, i*j);
    func(i+1, j);
}
 
void f(int n)
{
    if(n==1)
        printf("1x1=1\n");
    else
    {
        f(n-1);
        func(1, n);
        putchar('\n');
    }
}
 
 
int main()
{
    f(9);
    return 0;
}

定义函数不是void类型嘛???

这里return;是为了 当i大于j时不执行后面的语句。直接返回上个函数调用处,进行下一步。

函数判断到了return就停了,直接返回到调用处下一步,不会执行下面的代码了。

如果i是5,j是4的话,你九九乘法表前面的数字不会大于后面的,所以直接结束这个函数,进行下一步。

如果if括号里面的内容只有一句的话,括号可以省略

如果满足了i>j 程序就不往下执行了