2014-11-18 3 views
-2

Мне было интересно, почему в этом примере значение 32 имеет fahr- перед ним. Нужно или просто указать что-то?Почему «fahr-32» в этом примере C вместо просто «32»?

#include <stdio.h> 

/* print Fahrenheit-Celsius table 
    for fahr = 0, 20, ..., 300 */ 
main() 
{ 
    int fahr, celsius; 
    int lower, upper, step; 

    lower = 0;  /* lower limit of temperature scale */ 
    upper = 300; /* upper limit */ 
    step = 20;  /* step size */ 

    fahr = lower; 
    while (fahr <= upper) { 
     celsius = 5 * (fahr-32)/9; 
     printf("%d\t%d\n", fahr, celsius); 
     fahr = fahr + step; 
    } 
} 
+2

[Формула] (http://www.manuelsweb.com/temp.htm) –

+1

'' 'для подстановки. 'fahr-32' такой же, как' fahr - 32' – m0skit0

ответ

4

В этом примере вы переходите от температуры Фаренгейта до Цельсия.

fahr-32 в данном примере означает принимать значение в переменной с именем fahr (который содержит температуру по Фаренгейту) и вычесть 32. Так fahr имя переменной и - просто означает минус.

+0

О, хорошо, где меня это смутило. Я думал, что ты должен всегда класть пробелы вокруг операторов. Благодарю. – user3099345

+0

@ user3099345 Это хорошая вещь, чтобы сделать код более читаемым, но это необязательно. – Daniel

1

fahr представляет текущую температуру в единицах farenheit. Он звезд ниже и идет к верхнему.

Эта формула преобразует Фаренгейта в градусы Цельсия: используется

celsius = 5 * (fahr-32)/9; 

Дополнительная переменная, поэтому нижняя переменная остается неизменной.

1

«fahr» - целочисленная переменная в этой программе, а в ходе цикла while() значение «fahr» увеличивается на значение в переменной «step» с каждым циклом выполнения.

Для первой итерации (или «запуска») цикла «fahr» также может не быть там, потому что его значение равно 0. После этого значение этого значения увеличивается и, таким образом, становится важной частью вычисление для 'celsius', т. е. calsius = 5 * (20-32)/9 во втором цикле.

+0

Почему вы говорите, что этого не может быть, потому что его значение равно 0? Наличие значения 0 по-прежнему является причиной для того, чтобы быть там. – Daniel

Смежные вопросы