0以上の整数を引数として受けとる自作関数を呼び出すときに、引数(変数)の値チェックはどこでやる?
俺は心配性だから呼び出す前と呼び出した後の2回やってるんだが

if (test<0) return -1;
if (TestFunc(test)!=0) return -1;

int TestFunc(int x)
{
if (x<0) return -1;
//処理
return 0;
}