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);
}
4

3 回答 3

5

两个问题:

  1. 你需要#include <stdlib.h>得到声明exit()
  2. %s\n您需要在第二个printf()语句中加上引号
于 2013-09-25T03:03:18.613 回答
0

你需要包含头文件

    #include <stdlib.h>
于 2013-09-25T03:01:47.350 回答
0

如果您正确格式化代码,这将有所帮助。那里有一个杂散printf语句,没有任何引号%s\n,因此出现错误。

于 2013-09-25T03:03:11.747 回答