C 新手语法错误

标签 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);
}

最佳答案

两个问题:

  1. 你需要#include <stdlib.h>得到 exit() 的声明
  2. 您需要围绕 %s\n 的引号在第二个 printf()声明

关于C 新手语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18995462/

相关文章:

c - fscanf - 我不知道我在这里做错了什么

c - 如何使用 C 在应用程序包 (NSBundle) 中找到文件的路径?

c - 移植到mingw时如何处理 "SIGQUIT"信号?

c - 在c中如何检查字符串是否以 "GET "或 "POST "开头?

c++ - 链表删除和复制

c - 函数在单独的 C 文件中时出错

c - 退出 FOR 并打印消息的任何想法

c - 为什么 LibC 在 fork 后不打印错误信息?

c - 如何接收 HTTP 响应

c - 如何在c中管理shell的管端