>>644
>if((p=(char)ch=getchar())!='c') putchar(ch);
なにがしたいんだかよくわからんのだが、
char pの意味ってあるわけ?

俺ならこう書くな。
while((ch =getchar()) != 'c')
putchar(ch);

ちなみに、関数がcharを返す時は、自動的にintに変換されるので、
型キャストする必要はないはずです。