claws0n 发表于 2018-10-21 17:37:57

447908543 发表于 2018-10-21 17:32
我现在心态有点小崩...我特么这一个月编的都是c++???

如果你学C,就用 .c 。因为 C++ 是 C 的扩展,虽然大致架构一样,但还是有一些小地方不一样。而拓展出来的部分,C 是完全不支持的

447908543 发表于 2018-10-21 17:39:54

claws0n 发表于 2018-10-21 17:37
如果你学C,就用 .c 。因为 C++ 是 C 的扩展,虽然大致架构一样,但还是有一些小地方不一样。而拓展出来 ...

好的 真的感谢今天您的指教。。。
不然我可能会在学c的走上一条不归路。。{:10_245:}。

claws0n 发表于 2018-10-21 18:01:51

447908543 发表于 2018-10-21 17:39
好的 真的感谢今天您的指教。。。
不然我可能会在学c的走上一条不归路。。。

试了以下,最严格的 VS,完全不支持编译扩展
tdm gcc 支持,并且可以初始化
mingw gcc 支持,并且可以初始化
borland c++ (以前所谓的 turbo) 支持扩展,但是不能初始化

claws0n 发表于 2018-10-21 22:29:20

447908543 发表于 2018-10-21 17:39
好的 真的感谢今天您的指教。。。
不然我可能会在学c的走上一条不归路。。。

噢,VS (微软)不全然支持 C99 和 C11,尤其是变长数组。另外,GCC 有编译扩充

claws0n 发表于 2018-10-21 22:35:23

447908543 发表于 2018-10-21 17:39
好的 真的感谢今天您的指教。。。
不然我可能会在学c的走上一条不归路。。。

然后边长数组可以编译,但是不要初始化,那么 C 也可以。也就是说你的数组要分开写#include <stdio.h>

int main(void)
{
      int n;
      scanf("%d",&n);
      double array;
      array = 1;      // <----------------------分开
      for(int i=1;i<=n;i++)
      {
                array = array*i;
      }
      double num;
      num = 1;      // <----------------------分开
      for(int j=1;j<=n;j++)
      {
                num=1.0/array+num;
      }
      printf("%.10lf",num);
      return 0;
}

另外,你需要去工具 >> 第一个编译选项,不是第三个的编译器,一般/常规 有两个框框对吧?上面那个打勾,然后输入-std=c11

pheron 发表于 2018-10-22 12:59:22

array这个数组的元素是array到array,一共是1000个,并不包含array。
页: 1 [2]
查看完整版本: 不懂就问 请各位赐教