重複の可能性:
この整数除算で0が得られるのはなぜですか?
プロジェクトで使用されるさまざまな定数値を含むCヘッダーファイルがあります。値は#defineを使用して定義されます(例:#define MAX_DATA_VAL 5)。
この値を別のファイルで除算に使用すると、間違った答えが返されます。
//- In file MyParameters.h
#define MAX_DATA_VAL 5
#define MIN_DATA_VAL -5
// - In file MyFunctions.c
#include "MyParameters.h"
void Function()
{
float temp = 0;
temp = 2/MAX_DATA_VAL; // Wrong Output
}
tempの値は0のままです(デバッグ中にチェックされます)。
temp = 0;
float a = MAX_DATA_VAL;
temp = 2/MAX_DATA_VAL; // Correct Output
私は正しい答えを得る!!...誰かが何が起こっているのか説明してもらえますか...
前もって感謝します :)