Я отлаживаю фрагмент кода и обнаружил, что при распечатке переменной до выполнения функции она отлична от нуля. Одна и та же переменная используется в качестве входного аргумента для функции, но при ее распечатке в начале этой функции она говорит, что она равна нулю.Переменная вводит функцию 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 он сказал мне, что до перехода в функция?
Показать прототип функции, а также достаточно кода, чтобы увидеть полную картину. – unwind
Невозможно ответить. – Olaf
Вы объявили функцию перед ее вызовом? Если нет, ваш поплавок будет увеличен до двух. –