zoukankan      html  css  js  c++  java
  • 错误:在 C99 模式之外使用‘for’循环初始化声明

    slrps@linux-vnbn:~/BeginningC/chapter12> gcc Program12.1.c -o Program12.1
    Program12.1.c: 在函数‘main’中:
    Program12.1.c:24: 错误:在 C99 模式之外使用‘for’循环初始化声明

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    const int LENGTH = 80;
    
    int main(void)
    {
        char mystr[LENGTH];
        int lstr = 0;
        int mychar = 0;
        FILE *pfile = NULL;
        char *filename = "myfile.txt";
        printf("n\Enter an intersting string of less than 80 characters:\n");
        fgets(mystr, LENGTH, stdin);
        
        if (!(pfile = fopen(filename, "w")))
        {
            printf("Error opening %s for writing.", filename);
            exit(1);
        }
        
        lstr = strlen(mystr);
        for (int i = lstr - 1; i >= 0; i--)
        {
            fputc(mystr[i], pfile);
        }
        fclose(pfile);
        
        if (!(pfile = fopen(filename, "r")))
        {
            printf("Error opening %s for reading.", filename);
            exit(2);
        }
        
        while ((mychar = fgetc(pfile)) != EOF)
            putchar(mychar);
        putchar('\n');
        
        fclose(pfile);
        return 0;
        
    }

    错误处理:

    C99 允许在for语句的 “表达式1 ”中定义并初始变量, gcc4 编译c语言的默认标准是C89, 编译C99程序需加参数 “–-std=c99” ;使用

    gcc Program12.1.c -o Program12.1 --std=c99就解决了。

  • 相关阅读:
    队列的实现
    前端的数据结构
    有关es6的模块化
    jQuery---事件的执行顺序
    短网址生成和还原工具使用教程
    【01】HTML_day01_03-HTML常用标签
    JS中变量、作用域的本质,定义及使用方法
    JS 重载父页面
    搞懂Nginx一篇文章就够了
    重复的子字符串
  • 原文地址:https://www.cnblogs.com/zhanglibra/p/4495100.html
Copyright © 2011-2022 走看看