一个关于return的问题

问题遇到的现象和发生背景

在这个int型子函数里即使不加return,主函数也能接收到v的值。

用代码块功能插入代码,请勿粘贴截图
#include

int vs(int a,int b,int c)
{
    int v;
    v=a*b*c;
}
int main()
{
    int v1,l,w,h;
    printf("输入长宽高:");
    scanf("%d %d %d",&l,&w,&h);
    v1=vs(l,w,h);
    printf("v=%d",v1); 
    return 0;
}

运行结果及报错内容

我看说都要在有返回值的子 函数中写return,才能在调用处返回正确的值 否则就是一个随机值,但我这个子函数中没有加return 为什么就能接收到正确的返回值呢