编译的 c 脚本仅保持打开状态几分之一秒



初学者爱好程序员在这里。我习惯于在OSX中运行C,使用GCC编译,但最近我不得不切换到Windows。我正在使用Visual Studio Express 2010编译我的代码Microsoft。编译运行正常,但之后当我尝试运行它时,它只会闪烁一毫秒,然后关闭。我该如何解决这个问题?

这发生在我尝试过的所有脚本上,但这里有一个特别的,来自K&R的经典华氏度和摄氏度转换器,不起作用。如果这是一个愚蠢的问题,对不起。两周前刚开始学习C。

 #include <stdio.h>
    main()
   {
     int fahr, celsius;
     int lower, upper, step;
     lower = 0;     
     upper = 300;    
     step = 20;    
     fahr = lower;
     while (fahr <= upper) {
         celsius = 5 * (fahr-32) / 9;
         printf("%dt%dn", fahr, celsius);
         fahr = fahr + step;
      }
   }

最后一个大括号}之前放一个getch(),这将需要在程序退出之前按键

我建议这样做而不是ctrl-f5的唯一原因是它教你另一个 C 命令:)

[编辑]
让我为您正在做的事情添加更多信息。

main 的正确签名是 int main(int argc, char **argv) ,这是您应该在程序中具有的值(以替换当前存在的单行main()

不必对这些变量(argc和argv(做任何事情,它们可能不被你(程序员(使用。 但是,函数名称 (main( 上存在前面的int意味着它应该返回一个值。 同样,你可能不在乎。 但是,将来,您或负责您的代码的人会关心。 这意味着你的main函数应该返回一些值,一些指示它对底层操作系统的成功或失败的东西(此外,如果你在 shell 脚本中使用你的程序,可以使用一些东西(。

目前,一个简单的return(0),在上述getch()之后,将很好地完成工作。
[/编辑]

听起来您正在尝试使用 F5 在调试器下运行程序。 成功完成后,调试器将立即退出。 尝试在调试器外部运行,完成后它将暂停按键:Ctrl+F5

注意:术语脚本对于 C 语言并不真正准确。 C 是一种编译语言,因此通常称为程序与脚本。

您引用的程序将一系列华氏温度转换为摄氏度,打印结果,然后立即退出。这就是源代码所说的:其中没有任何内容可以使其保持开放状态。

如果你在Unix环境中编译和运行,你很可能是从(虚拟(终端内的shell运行它,当程序完成时,shell会给你一个新的提示,但程序的输出在它上面可见。但是,在Windows上,启动程序的标准方法不涉及shell或终端窗口,因此程序只是将其输出写入您看不到的地方并退出(或者它打开终端窗口,但在完成运行后立即关闭它(。

要在 Windows 中查看输出,您可以自己打开终端窗口(运行 cmd.exe(并从那里启动程序,也可以在末尾添加getch()调用,使程序在退出之前等待按键。

可以直接从命令行而不是在 IDE 中运行可执行文件,或者在 main(( 末尾调用一些输入以保持窗口打开。

相关内容

  • 没有找到相关文章

最新更新