#include<stdio.h>
#include<math.h>
#define rad(a) (a * 3.141592653589 / 180.0)
void main(){
printf("%f %f\n", cos(rad(0)), cos(rad(10)));
printf("%f %f\n", cos(rad(10)), cos(rad(20)));
printf("%f %f\n\n", cos(rad(20)), cos(rad(30)));
for(int i = 0; i < 30; i += 10){
printf("%f %f\n", cos(rad(i)), cos(rad(i + 10)));
}
}
1.000000 0.984808
0.984808 0.939693
0.939693 0.866025
1.000000 0.984808
0.984808 -0.731856
0.939693 0.243351
このようなプログラムを書いたのですが、forの中のマクロ関数の部分がおかしくなります。
printf("%f %f\n", cos(rad(i)), cos(rad((i + 10))));
このようにすると正常に動いてくれるのですが、どうしておかしくなったのでしょうか?