前スレの961でさ、
last_char_was_space = (ch == ' ');
ってあるしょ?

こういう比較の演算子が真のときは非0を返すんだよね?
その非0は1って決まってるの?