>>104 にて
scanf("%d", &x);

と書かれているのですが、ターミナルから9を80字入力されたらどうなさるおつもりなのでしょうか
また、signedともunsignedとも指定されておりませんが、その点はどのように汎用性を確保なさるのでしょうか