c - "Expected function body after function declarator "在终端中使用 GCC 编译

标签 c gcc compiler-errors gcc-4.2

我正在尝试在终端中使用 GCC 编译以下程序

//
//  fileCopy.c
//  
//
//  Created by Saurabh Saini on 14/02/18.
//
#include <stdio.h>

int main(){

int c;
c = getchar();

if(c!=EOF){
    putchar(c);
    c = getchar();
}
return 0;
}

出现以下错误 enter image description here

我需要明白什么是

<U+0010> 

最佳答案

<U+0010>此处表示:值为 0x10(十六进制;十进制为 16)的 Unicode 字符

<U+0010>叫做DATA LINK ESCAPE(DLE)

错误是由于这个字符引起的。自 <U+0010>是一个控制字符 因此它不会被gcc 忽略编译器(空白 字符被 gcc 编译器忽略)因此,它会产生编译错误。从您的源文件中删除此字符即可解决问题。

注意: <U+0010>是不可打印的字符,因此您看不到它。你需要使用一些 hex-editor编辑。您可以使用 vim编辑。参见 herehere关于如何使用它。

关于c - "Expected function body after function declarator "在终端中使用 GCC 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780403/

相关文章:

c - strcpy 导致 C 程序崩溃

c++ - 编译器找不到 'aligned_alloc' 函数

gcc - Ansible安装-clang : error: unknown argument: '-mno-fused-madd'

javascript - 我收到“无效的作业左侧

c - C99 是否强制要求 `int64_t` 类型始终可用?

c# - 在结构中使用 boolean 值的一些 P/Invoke C# 到 C 编码问题

c - 我的 C 代码有什么问题(由于 malloc,我的输出不稳定)?

c++ - Itanium 和 MSVC ABI 中跨模块边界的 RTTI

java - 链接库时找不到符号

java - 字符.isDigit()错误: no suitable method found for isDigit(String)