C 编译和运行

C compiling and running

提问人:Leo_Miche 提问时间:10/29/2023 最后编辑:chqrlieLeo_Miche 更新时间:10/30/2023 访问量:91

问:

我是 C 语言的新手,我正在尝试运行一个简单的 helloworld,但终端没有显示输出。 代码如下:

int main(int argc, char *argv[])
{
    printf("Hello");
    return 0;
}

当我尝试编译时,我运行命令

gcc hello.c -o hello.exe

但它没有显示该短语。我错过了什么吗?我已经在 vscode 中安装了 ucrt64 环境和 gcc 编译器。

C Windows Visual-Studio-Code GCC 终端

评论

1赞 pmg 10/29/2023
您需要执行创建的程序。在命令提示符下键入命令后gcchellogcc ...
0赞 Some programmer dude 10/29/2023
用 C 语言编程分为多个步骤:1) 编辑源代码;2)将源码构建到目标文件中;3)链接目标文件和库以创建可执行程序;4)运行程序。第 2 步和第 3 步可以合并(就像您的命令一样),因此您错过了第 4 步:运行程序。尝试在命令之后构建程序。./hello.exe

答:

4赞 chqrlie 10/29/2023 #1

命令行构造可执行文件 hello.exe。您必须执行此程序才能通过键入 或在 shell 提示符下查看其输出,具体取决于用于测试的操作系统和命令行解释器。gcc hello.c -o hello.exehello./hello.exe.\hello.exe

另请注意以下备注:

  • 必须包含标头<stdio.h>
  • 您应该添加一个尾随换行符,以确保在所有系统上都能正确输出。

这是修改后的版本:

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello\n");
    return 0;
}

由于您不使用命令行参数,因此可以将代码简化为:

#include <stdio.h>

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

如果该命令没有创建可执行文件,甚至没有抱怨这样做的任何错误,恐怕编译器设置似乎已损坏。如果可能,请尝试重新安装编译器或使用其他系统。gcc

评论

0赞 Surge 10/29/2023
我要补充一点,在 main 函数中拥有 和 是没有意义的。argcargv
1赞 chqrlie 10/29/2023
@Surge:正确。用一个更简单的替代方法修改了答案。
0赞 chqrlie 10/30/2023
编译器设置似乎已损坏。如果可能,请尝试重新安装编译器或使用其他系统。
0赞 Leo_Miche 10/30/2023
所以从本质上讲,编译器是问题所在,重新安装了它并像魅力一样工作。感谢您的支持!
0赞 chqrlie 10/30/2023
@Leo_Miche:让我们清理评论:)