>>675
>mainから受け取った物がjudgeでは!isdigitが真と判断された場合-1を返して、
>25行目あたりのjudge(&s)の下に、if(s<0)を置いてみましたがうまくいきませんでした。 

sは戻り値とは違うので。
n = judge(&s);
if(n<0)
こうじゃない?