汤姆叔叔的小屋 发表于 2020-4-11 18:40:01

c语言

#include<stdio.h>
#include<math.h>
int main()
{
        double a;
        a=0;
        int b=-1, c=1;//箭头在这
        do
        {
                if(c%2==0)
                {
                        b*=-(1);
                }
                c++;
                a +=1/b;
                b+=2;
        }while(abs(a)<10^(-6));
        printf("%lf\n",a*4);
        return 0;
}
1个错误error C2143: syntax error : missing ';' before 'type'

zltzlt 发表于 2020-4-11 18:49:52

我这里使用下面的代码编译没有问题:

#include <stdio.h>
#include <math.h>
int main()
{
    double a;
    a = 0;
    int b = -1, c = 1; //箭头在这
    do
    {
      if (c % 2 == 0)
      {
            b *= -(1);
      }
      c++;
      a += 1 / b;
      b += 2;
    } while (abs(a) < 10 ^ (-6));
    printf("%lf\n", a * 4);
    return 0;
}

PS:在 C 语言中 ^ 是按位异或,可不是乘方

倒戈卸甲 发表于 2020-4-11 18:52:39

错误提示是变量类型前缺少;
考虑你的编译器可能不支持逗号表达式,定义的两个整形变量改为两个语句试试

九千 发表于 2020-4-11 18:56:51

do{
}while()

这个循环结构,while()后面不用跟分号
页: [1]
查看完整版本: c语言