C新手语法错误

时间:2013-09-25 02:58:25

标签: c

我正在尝试编写打开外部文件的代码,并打印出该文件中的行,但不断获取

第7行:警告:内置函数'exit'的不兼容隐式声明

第15行:错误:'%'标记之前的预期表达式 第15行:错误:在程序中迷路'\'

尝试编译此代码时:

#include <stdio.h>
#include <assert.h>

main(int argc, char *argv[]){
    if (argc != 2){
        fprintf(stderr, "usage: strgen <file>\n");
        exit(1);
    }
    char *infile = argv[1];
    FILE *fp = fopen(infile, "r");
    assert(fp != NULL);
    char buffer[50];
    while( fgets( buffer, 50, fp) != NULL){
        printf("%d\n",buffer);
        printf(%s\n, buffer);
    }
    fclose(fp);
    return(0);
}

3 个答案:

答案 0 :(得分:5)

两个问题:

  1. 您需要#include <stdlib.h>才能获得exit()
  2. 的声明
  3. 您需要在第二个%s\n声明
  4. printf()附近引用

答案 1 :(得分:0)

您需要包含头文件

    #include <stdlib.h>

答案 2 :(得分:0)

如果您正确格式化代码会有所帮助。那里有一个迷路printf语句,%s\n周围没有任何引号,因此错误。