【问题标题】:Terminal not running C [closed]终端没有运行C [关闭]
【发布时间】:2016-01-26 19:04:21
【问题描述】:

所以我正在尝试运行一个简单的代码进行试用,以查看我如何在终端中运行 C 代码但收到此错误:

main.c: line 3: syntax error near unexpected token `('
main.c: line 3: `int main(int argc, const char * argv[]) {'

任何想法为什么会发生这种情况?在 xcode 上运行良好?

我运行的代码:

#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");
    for (int i = 0; i <= 10;i++)
    {
        printf("IT WORKS!\n");
    }
    return 0;
}

运行文件的命令:

bash main.c

【问题讨论】:

  • 如果文件名是main.c~,那就错了。请显示您键入的编译命令。
  • 编译命令:cc -Wall main.c -o hello。运行命令:./hello。请注意,Xcode 中有一个选项可以安装命令行工具,例如编译器。你需要先这样做。
  • 您需要运行xcode-select --install 来安装命令行工具,然后才能按照上述或MByD 建议的方式进行编译。

标签: c macos bash terminal


【解决方案1】:

由于您尝试直接运行 C 代码,因此尝试将您的 c 文件解析为 shell 脚本的 shell 返回此错误。

sh-3.2$ cat > mycode.c
#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");
    for (int i = 0; i <= 10;i++)
    {
        printf("IT WORKS!\n");
    }
    return 0;
}
sh-3.2$ chmod +x mycode.c
sh-3.2$ ./mycode.c
./mycode.c: line 3: syntax error near unexpected token `('
./mycode.c: line 3: `int main(int argc, const char * argv[]) {'

不能直接运行C代码,需要先编译成可执行文件,再执行编译后的可执行文件。

例如:

$ gcc -o myexe main.c
$ ./myexe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多