#include <stdio.h>
main () {
char *s;
scanf("%s",s);
return0;
}

上記のようなプログラムを作成し、実行しました。
すると、
入力が「111111111111111」のときは正常終了したのですが、
入力が「1111111111111111111111111111」のときはセグメント例外がおきてしまいました。

ここで質問です。なぜ二度目の実行でセグメント例外が起きてしまったのでしょうか?
自分は、「ポインタ宣言時に確保したメモリの範囲外に書き込もうとしため」と考えたのですが、そもそも一度目の実行で1byte(char一個分)以上の入力ができてしまっていますよね。この時点で、理由がわかりません。
よろしくお願いします。