2013-09-25 47 views
1

我想写打开外部文件,并打印出该文件中的行代码,但不断收到7ç新手语法错误

行:警告:内建函数不兼容的隐式声明“退出“

第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

需要%s\n各地报价失踪左右'%S \引号声明n' –

+2

有趣的地方隐藏'printf()'。感谢Brian修复格式。 – WhozCraig

+1

您需要为第一个错误添加'#include '。 –

回答

0

你需要包含头文件

#include <stdlib.h> 
0

,如果你正确格式化您的代码,这将有助于。在那里没有任何引用%s\n的声明printf,因此错误。

5

两个问题:

  1. 您需要#include <stdlib.h>得到的exit()
  2. 你在第二printf()声明