LINUX.ORG.RU

Где ошибка? (си)


0

0

Очень простой пример на функцию

#include <stdio.h>

#ifdef _DEBUG
#define LOG (printf)
#else
#define LOG
#endif

int celsium (int);

main()
{
int farh;

for (farh=0; farh<=100; farh=farh+10)
printf ("%9d %6.1f\n", farh, celsium(farh));
return 0;
}

int celsium (int base)
{
int cels;
cels=0;
cels=(5.0/9.0)*(base-32.0);
LOG ("%d \n", cels);
return cels;
}

компилиться с -D_DEBUG и выдает вот такой результат:
-17
0 -0.0
-12
10 -0.0
-6
20 -0.0
-1
30 -0.0
т.е. в самой функции cels считается но в main не передается. Почему??

Ответ на: комментарий от watashiwa_daredeska

>> printf zlo >А что не зло?

Streams всякие. Или как в Жаве. Жаль, для СИ ничего кроме printf нету.

anonymous
()
Ответ на: комментарий от anonymous

> Streams всякие.

Это когда 'cout << a << "," << b << endl;'? Вот это как раз бОльшее зло, но

> Жаль, для СИ ничего кроме printf нету.

Есть [f]puts, есть [f]write, в конце концов. В общем, все карты вам в руки.

> Или как в Жаве.

Честно говоря, я уже не помню как там в Жаве, слишком давно это было.

watashiwa_daredeska ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.