Цитата(Serg_greS @ May 3 2006, 12:07)

Подскажите почему не работает такая конструкция:
gc=(temp*0.5);
или
gc=(temp*(float)0.5);
тогда как
gc=(temp/2);
работает?
Потому что temp - целое.
Почитайте учебник по Си Кернигана-Ритчи или подобный, там хорошо изложено про преобразования типов в арифметике.
Применительно к данной конкретной ситуации - сделайте, как я советовал парой постов ранее. То есть, gc=((float)temp*0.5);