修改一点点就错了...求解释呀呀呀
一.double p;
p = pow(1 + 0.09, 10);
printf("p = %lf\n", p); 结果显示:是p = 2.367364 正确
而
double p;
p = pow(1 + 9/100, 10);
printf("p = %lf\n", p); 结果显示:是p = 1.000000
为什么呢?
二.还有将上面的程序改为:
double p, r;
char n = 10;
r = 0.09;
p = pow(1 + r, n);
printf("p = %lf\n", p);
此时编译时会弹出:
in function 'main':
undefined reference to 'pow'
collect2: ld 返回 1
这又是为什么?
这两个,我在32位和64位系统上都尝试了,结果都是这样的