>>546
 それで大体の問題は解決しますよね。
でも一回の入力で11文字以上入力するとやっぱり同じです。
無理して書くと、
while(((ch[c]=getchar())!='\n') && (c < 10)){
みたいな感じかな。もっともおすすめしないけれど。

要するに>>541だと、
ポインタchが指している領域を超えて入力が
行われる可能性があるのが問題。バッファオーバーランの類。
このソースの場合、10文字までしか文字を入力できないつもりで
書いているんだろうけど、実際には無限に無理やり書き込む
ことができるようになってるんだよね。でも領域は10文字分
しかないからセグメンテーションフォルトが起きる。
根本的に変えなきゃならない点がいくつか・・・