(stk->count == 0)が真なら1、偽なら0を返します。

stk->countが0なら(stk->count == 0) は真なので 1 と同じ。
stk->countが0以外なら(stk->count == 0) は偽なので 0 と同じ。

# というか、定義と問題のスタックの構造体の型が違うような気がするのは
# 気のせいか?