Использование макросов, но неявное объявление ошибки функции - PullRequest
0 голосов
/ 28 апреля 2011

Я пытаюсь запустить следующий код, но не могу скомпилировать его, так как моя IDE жаловалась по следующей причине.

H: \ C \ sandBox.c | 11 | предупреждение: неявное описание функции 'Взаимное' |

Я не знаю, почему мой код не работает. Можете ли вы помочь?

#include <stdio.h>
# RECIPROCAL(number) (1.0 / (number))

int main()
{
    float   counter;    /* Counter for our table */

    for (counter = 0.0; counter < 10.0;
     counter += 1.0) {

        printf("1/%f = %f\n", counter, RECIPROCAL(counter));
    }
    return (0);
}

Ответы [ 2 ]

3 голосов
/ 28 апреля 2011

Это потому, что вам нужно использовать #define для определения макроса препроцессора.

Изменить:

# RECIPROCAL(number) (1.0 / (number))

на

#define RECIPROCAL(number) (1.0 / (number))
2 голосов
/ 28 апреля 2011

Вы забыли define:

#define RECIPROCAL(number) (1.0 / (number))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...