2016-02-18 2 views
-4

Я отлаживаю фрагмент кода и обнаружил, что при распечатке переменной до выполнения функции она отлична от нуля. Одна и та же переменная используется в качестве входного аргумента для функции, но при ее распечатке в начале этой функции она говорит, что она равна нулю.Переменная вводит функцию C как отличную от нуля, превращается в ноль внутри сама по себе

Вне функции называют это выглядит следующим образом:

Внутри вызова функции я сделал следующее:

void oprq_init(const float sigma_b_m, const float b[3], const float r[3], float K[16], float P[256]) {` 
    printf("sigma_b_m: %f \n",sigma_b_m); 
} 

Я удалил остальную часть функции для ясности, но Printf линия действительно в самом начале функции.

Выход затем:

sigma_b_m: 0,001745
sigma_b_m: 0,000000

Любая идея, как теперь он регистрируется как ноль, а не 0.001745 он сказал мне, что до перехода в функция?

+0

Показать прототип функции, а также достаточно кода, чтобы увидеть полную картину. – unwind

+1

Невозможно ответить. – Olaf

+0

Вы объявили функцию перед ее вызовом? Если нет, ваш поплавок будет увеличен до двух. –

ответ

0

ОК Я осознал свою собственную тупая ошибка ... в файле заголовка была опечатка в заявлении #ifndef ... Извините за неприятностей, ребята и мое упрямство.

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