关于c作业的一个小问题

关于c作业的一个小问题,c,C,大家好,我有一个关于c的家庭作业,它给了我一些问题。 所以基本上我要做一个程序,给我这个特殊方程的结果,这是我的代码: int main() { int i; int a; printf("a:\t"); scanf("%d",&a); double x,y; double z = 0; for(i=1;i<=9;i++) { if(i==3){continue;} double m=1

大家好,我有一个关于c的家庭作业,它给了我一些问题。 所以基本上我要做一个程序,给我这个特殊方程的结果,这是我的代码:

int main()
{
    int i;
    int a;
    printf("a:\t");
    scanf("%d",&a);
    double x,y;
    double z = 0;
    for(i=1;i<=9;i++)
    {
        if(i==3){continue;}
        double m=1;
        for(int n=i;n<=17;n++)
        {
            if(n=12){continue;}
            x=(pow(n,3)-8)/(n-12);
            m *=x;
            printf("i = %d'de n = %d iken %f\n", i,n,m);
        }
        y=pow(fabs(7-a),i)/pow(i-3,5);
        z+=y;
        printf("i = %d ise %f\n", i, y);
    }
    printf("W = %f\n", z);
}
intmain()
{
int i;
INTA;
printf(“a:\t”);
scanf(“%d”和“&a”);
双x,y;
双z=0;
对于(i=1;i
如果(n=12)
应该是

if(n==12)

否则您将有一个无限循环

This:
if(n=12){continue;}
将循环变量
n
设置为12并继续。这意味着
n
将永远不会达到17。请记住,在C中,
=
是赋值;
=
是比较。您的代码是合法的C,但当我启用警告时,编译器建议在
n=12
周围加上额外的括号,以表明它是正确的这是一个分配。投票以简单的打字错误结束。启用编译器警告。。。