c – 为什么我没有输出非常简单的Hello World程序?

前端之家收集整理的这篇文章主要介绍了c – 为什么我没有输出非常简单的Hello World程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道为什么我的C程序不打印任何信息.我是100%的新兴编程人员,并且在过去几个星期内能够在 RubyPython中学到一些东西,但是我无处可寻C的东西.这是总的基线,每个人都学习的简单的程序:
#include <stdio.h>

int main()

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

所以我已经写了,我保存为hello.c.现在我到目录,然后我尝试

gcc hello.c

没有任何反应 – 没有错误,什么也没有.如果我写的话

gcc hello.c -o hello

一个新的可执行文件被写入我的目录,当我打开它,它看起来像正常的命令行,并有“Hello World”写在那里,正如我预期在我的终端第一次.

我也试图让hello.c成为一个可执行文件,但是当我这样做的时候我会得到

Syntax error near unexpected token `('
`int main()'

解决方法

当你输入
gcc hello.c

没有什么发生,这是可以预料的.或者更准确地说,GCC将编译一个具有默认名称的可执行文件,对我而言是a.out.如果我在命令行上键入./a.out,我会看到输出.

我认为这可能是一个稍微更大的概念问题,虽然从你的Ruby / Python背景. Ruby和Python是(通常)解释语言,这意味着当您创建脚本文件时,您可以将其标记为可执行文件,并通过some magic操作系统将启动一个读取文件并为您执行的程序.然而,C编译.因此,当您运行GCC时,它将使用您的源文件,并将其转换为可执行文件,使用默认或指定的名称.在这一点上,除非编译过程有问题,否则不会看到任何输出.然后,您可以运行./hello,它是一个可执行文件,并查看您的输出.

这也解释了为什么你不能将hello.c标记为可执行文件并运行它.它需要先编译成可执行文件.看起来系统假装它是一个shell脚本,这不是,并给你一个语法错误.

猜你在找的C&C++相关文章