C++里的return 0;必须要有吗,什么情况下可以不写这句


#include <stdio.h>

int main(){
    int x;
    int digit;
    scanf("%d",&x);
    while(x>0){
        digit=x%10;
        printf("%d",digit);
        x=x/10;
    }
    return 0;
}

这个在dev中,有没有return 0;都可以运行 没有报错什么的

int main() 说明返回的是值是int类型,所以要return 0

void main()说明没有返回值,不写return 0