【问题标题】:Syntax error while running the c program despite having no problem during compiling尽管在编译过程中没有问题,但运行 c 程序时出现语法错误
【发布时间】:2020-07-23 06:20:26
【问题描述】:

我正在尝试使用此代码运行一个基本程序“hello world”

#include<stdio.h>

int main()
{ 
 printf("hello world\n");
 return 0;
}

编译时没有错误,但是当我尝试运行代码时,错误是:


./hello.c: line 2: syntax error near unexpected token'('
./hello.c: line 2: 'int main()'

我怎么能解决这个问题,因为我什么都试过了,我不认为有语法错误。

【问题讨论】:

  • 欢迎来到 SO。如果您运行已编译的二进制文件,则永远不会出现语法错误。我假设您在 bash 而不是编译后的二进制文件上运行源代码。
  • 您尝试如何准确地运行您的程序?
  • 请说明您是如何运行程序的。提示:二进制文件名中不应包含.c
  • 首先使用gcc -o filename filename.c创建一个executable,然后使用$./filename执行它。
  • 替代方案:安装TCC,将#!/usr/local/bin/tcc -run(或类似的,取决于您的设置)添加到您的.c 文件顶部并使其可执行(如果尚未执行)

标签: c ubuntu gcc syntax-error


【解决方案1】:

您不会从 shell 运行 .c 文件。编译程序后,运行创建的可执行文件。

所以如果你像这样编译它:

gcc -o hello hello.c

然后你运行它

./hello

当您使用./hello.c 时,shell 会尝试将您的 C 源代码作为 shell 脚本运行。这是行不通的,因为它们是完全不同的语言。

【讨论】:

    猜你喜欢
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2012-06-24
    • 2015-06-19
    • 1970-01-01
    相关资源
    最近更新 更多