【问题标题】:My C program won't print anything even though I tried everything I read on Internet即使我尝试了在 Internet 上阅读的所有内容,我的 C 程序也不会打印任何内容
【发布时间】:2021-11-23 18:24:43
【问题描述】:

我的 Hello World 程序没有给出任何输出。我一直在努力尝试做互联网上提到的不同事情,例如:

  • 在末尾添加\n(如printf("Hello World\n");
  • fflush(stdio);
  • getch();
  • 我尝试重新安装 C 编译器
  • 我从ming64转到ming32
  • 我什至尝试用 g++ 编译它
  • 我也使用命令提示符在 VS 代码上进行了尝试

但无论如何,我仍然不会得到输出。代码如下:

#include <stdio.h>
int main(void) {
  printf("Hello World\n");
  return 0;
}

我得到的控制台输出如下:

[Running] cd "g:\C WorkSpace\" && gcc Test.c -o Test && "g:\C WorkSpace\"Test
 
[Done] exited with code=0 in 0.453 seconds

代码会编译并创建一个.exe 文件。
可执行文件运行并且不打印任何内容。

编辑:我也在命令提示符下尝试过,但仍然没有输出 就是这个样子

 Directory of G:\C WorkSpace

02-10-2021  06.34 PM    <DIR>          .
02-10-2021  06.34 PM    <DIR>          ..
02-10-2021  06.28 PM    <DIR>          .vscode
21-09-2021  08.22 AM                82 Hello World.c
02-10-2021  06.33 PM                83 Test.c
02-10-2021  06.34 PM            40,764 Test.exe
21-09-2021  09.57 AM    <DIR>          TestProjects
               3 File(s)         40,929 bytes
               4 Dir(s)  510,360,821,760 bytes free

G:\C WorkSpace>gcc test.c -o Test

G:\C WorkSpace>.\Test

G:\C WorkSpace>g++ Test.c -o Test

G:\C WorkSpace>.\Test

G:\C WorkSpace>

编辑 2:有人指出我的工具链一定有问题,所以我正在用我的安装方式更新问题。

我从https://sourceforge.net/projects/mingw/files/OldFiles/下载了设置下载了最新版的mingw-get-setup.exe(86.5kB)

我运行了它下载东西的设置,然后它把我带到了 MinGW 安装管理器

我检查了 mingw32-base、mingw32-gcc-g++、mingw32-gcc-objc 并更新了目录,我假设这意味着安装,因为它下载了一些文件。

之后我将环境PATH设置为C:\MinGW\bin

编辑 4:我已经尝试以所有可能的方式在命令提示符下运行它,但它不起作用

G:\C WorkSpace>gcc Test.c -o Test

G:\C WorkSpace>Test.exe

G:\C WorkSpace>.\Test.exe

G:\C WorkSpace>./Test.exe
'.' is not recognized as an internal or external command,
operable program or batch file.

G:\C WorkSpace>

编辑 5:我尝试制作一个新的 c 程序(在 VS 代码中)并运行它,当我运行它时它给了我输出但是当我再次运行它时它没有给出任何输出在cmd中尝试过,它没有给出输出。之后,我尝试仅在 cmd 中将文件从 VS 中制作出来,并且所有未在 VS 代码中编译的文件都可以正常工作。然后我尝试重新编译由 VS 代码编译的文件,它们似乎仍然不起作用我认为问题在于 VS 代码而不是编译器或 PATH 变量。如果我能够解决这个问题,那将非常有帮助。

编辑 6: 显然代码运行程序扩展存在某种问题。当我在不使用代码运行器扩展的情况下编译代码时,它工作得很好。我找到了问题的原因,Please consider this thread as closed. 感谢大家的努力。

【问题讨论】:

  • 程序没有问题。您的环境有问题,但很难说到底是什么问题。在控制台中执行“.\test.exe”会发生什么?
  • 它是 Windows。只需键入test 并按回车键。 ./test.exe是Linux
  • 只是一个小提示:避免路径名中包含空格,它们在所有基于文本的环境中都是一个主要的痛苦,不应该被允许。
  • 您的程序自行构建并运行just fine。这看起来像是某种工具链问题。您能否准确地添加您的问题,您是如何安装 mingw 和 gcc 的?此外,这个问题现在已经变得足够有趣,值得一票:-P
  • 我想知道您对 coderunner 的问题是否与 this issue 有关?

标签: c gcc console output mingw


【解决方案1】:

请进入VS code的设置; 点击左侧的扩展设置; 在那里搜索终端; 现在找到“在终端上运行”选项将其打开。

【讨论】:

    【解决方案2】:

    windows操作系统中,文件编译后转换为可执行格式(.exe

    G:\C WorkSpace>gcc test.c -o Test  //to compile
    
    G:\C WorkSpace>Test.exe  //to execute
    

    您只需将.\Test 更改为Test.exe

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2011-11-02
      • 2022-01-09
      • 1970-01-01
      • 2018-06-28
      相关资源
      最近更新 更多