C言語のマクロの勉強をしています。
どうしてもコンパイル時にエラーが発生するので原因を教えていただきたいです。
#include <stdio.h>
#define MOD(x, y) (x)%(y)
int main(void) {
printf("%f", MOD(3.2, 2));
return 0;
}
上記のようなコードを入力してコンパイルすると、2行目のprintf記述に対して
次のようなエラーメッセージがでます。
'%': 無効です。左オペランドには型 'double' が指定されています。
%dにして引数も整数にすれば問題ないのですが、実数にすると必ずエラーが出ます。
初心者ゆえ無知ですがよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/12 14:35