zoukankan      html  css  js  c++  java
  • for’ loop initial declarations are only allowed in C99 mode

    今天做南邮编程在线的编程题,编程首先计算Fibonacci数列1,1,2,3,5,8,13,21,......的前n项(n不超过40)存入一维整型数组f中,再按%12d的格式输出每项的值,每6项换一行。

    #include<stdio.h>
    int main()
    {
    int f[40],n,count=0;
    scanf("%d",&n);
    f[0]=f[1]=1;
    for(int i=2;i<n;i++)
    {
    f[i]=f[i-1]+f[i-2];
    }

    for( i=0;i<n;i++)
    {
    printf("%12d",f[i]);
    count++;
    if(count%6==0)
    printf("\n");
    }
    printf("\n");
    return 0;
    }

     此程序在VC++6.0,codeblock等里面可以正确编译,但在网站的编译器里面却不行。然后上网百度了下,有大神的博客已经解决了。但是别人不允许转载,想看的自己可以百度看看。

    将for(int i=2;i<n;i++)中的int定义提到外面,变为int i;

    for(int i=2;i<n;i++)

    原因是gcc的标准不同导致for循环的使用有差异。

    下面为修改正确的程序

    #include<stdio.h>
    int main()
    {
    int f[40],n,i,count=0;
    scanf("%d",&n);
    f[0]=f[1]=1;
    for( i=2;i<n;i++)
    {
    f[i]=f[i-1]+f[i-2];
    }

    for( i=0;i<n;i++)
    {
    printf("%12d",f[i]);
    count++;
    if(count%6==0)
    printf("\n");
    }
    printf("\n");
    return 0;
    }

  • 相关阅读:
    java学习笔记(三)
    JAVA 学习笔记(2)
    java学习笔记
    第二次作业完成情况
    第一次作业完成情况
    使用MarkDown标记语言发博客
    《Java高级程序设计》第一周作业
    纪逝去的毕业后的两年时光
    #这是来联系Markdown语法的
    CodeFirst初体验——问题三
  • 原文地址:https://www.cnblogs.com/jikaiyang/p/5043035.html
Copyright © 2011-2022 走看看