こういうことだろう。

scanfでは与えられた引数の値を書き換える必要があるため。
もしscanfがポインタ渡しではなかったとしたら、
クライアント側で宣言した引数の値をscanf関数が変更することはできない。
printfは与えられた引数の値の変更が一切発生しないため、値渡しでよい。