我正在尝试制作一个程序,打印出0到100之间的所有偶数的^ 2,^ 4和^(1/3)。这就是我所拥有的。

#include <stdio.h>
#include <math.h>
main(){
   int a, b, c, i;
   for (i=0; i<100; i=i+2;)
      a = (1*1);
      b = (i*i*i*i);
      c = pow(i, (1/3));
      printf("%d, %d, %d", a, b, c);
      return 0;
}


它在第6行上给我一个错误,内容为

error: expected ')' before ';' token.


这是我与c的第一天,所以我现在真的受困了。

最佳答案

以下代码显示了对发布代码的所有建议更正。

插入评论以解释更改

#include <stdio.h> // printf
#include <math.h>  // pow

int main()  // <-- use valid return type
{
   int a;    // value ^2
   int b;    // value ^4
   double c; // value ^1/3 note: pow() returns a double
   int i;    // loop index

   // the following loop calculates all the request values
   // from 0 through 98. did you want to include '100'?
   for (i=0; i<100; i+=2) // < corrected for statement
   {                      // < added braces so whole code block loops
      a = (i*i);          // < squared value, not 1
      b = (i*i*i*i);
      c = pow( (double)i, (1.0/3.0) ); // < corrected integer divide
      printf("%d, %d, %lf \n", a, b, c);
                           // properly printed double,
                           // added newline
                           // so output displayed immediately
   } // end for

   return 0;
} // end function: main

关于c - 预期在';'之前的')'代币C,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29639284/

10-12 22:32