結論から書くと、

printf("一割引き=%d\n", (int)(price * 0.9));

となるわけだ。
この場合、引数は2個で、
"一割引き=%d\n"と(int)(price * 0.9)がそれだ。
で、これ一個が何を表しているか考えてみるといい。

前者は、表示形式を指定していて、後者は%dに押し込む数値になってるよな?
priceに100が入っているとすると、
(int)(price * 0.9)の結果が%dのところに入ることになる。

説明へたですまん・・・