码迷,mamicode.com
首页 > 编程语言 > 详细

C语言——'^' : illegal, right operand has type 'double'

时间:2017-08-26 12:48:38      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:and   int   bsp   sha   错误   mat   arp   logs   i+1   

//错误代码
int pi() { double p=0,j=0; double pi=0; p =1/(4*j-1); for(int i=0;i<100000;i++) { pi=-(-1)^j*p+pi; printf("%lf",4*pi); } return 0; } void main () { //求pi int pi();
}

  错因:pi=-(-1)^j*p+pi;  数学上的表达式在C语言中无法直接处理的,需要调用Math函数;可能还没有完全的接受C语言的思维。

//正确代码
void pi2() { double p=0,j=1; int i; for( i=1;i<10000;i++ ) //此处i为项数 { j=pow(-1.0,i+1)/(2*i-1); //pow(x,y)用来求x的y次幂 p+=j; printf("%lf\n",4*p); //输出每一项的值 } printf("%lf\n",4*p); //输出最终pi值 // return 0; } void main () { //求pi pi2(); }

  

C语言——'^' : illegal, right operand has type 'double'

标签:and   int   bsp   sha   错误   mat   arp   logs   i+1   

原文地址:http://www.cnblogs.com/Erma/p/7434781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!