我想用C语言计算2/3的2/3次幂,但是程序显示的第二数是0.000000,第三个数是1.000000,为什么啊?

#include<stdio.h>#include<stdlib.h>#include<math.h>void main(){ double a,b,c; a= pow(0.667,0.667); b= pow(2/3,0.667); c= pow(0.667,2/3); printf("%f\n",a); printf("%f\n",b); printf("%f\n",c); a = 2; c = pow(a/3,0.667); printf("%f\n",c); c = pow(0.667,a/3); printf("%f\n",c); c = pow(0.5+0.167,0.667); printf("%f\n",c); c = pow(0.667,0.5+0.167); printf("%f\n",c); c = pow(0.7-0.033,0.667); printf("%f\n",c); c = pow(0.667,0.7-0.033); printf("%f\n",c); c = pow(0.222*3,0.667); printf("%f\n",c); c = pow(0.667,0.222*3); printf("%f\n",c); printf("\n程序结束了 "); system("pause");}//其余的数字大致为0.763

2/3 =int/int=int=int(0.667)=0; 第二个0作为底数 的任意次方都为0;

第三个同理0.667的指数 2/3=0 所以任意数的0次方都为1

温馨提示:答案为网友推荐,仅供参考
相似回答