ubuntu下编写C程序,如何看输出结果?
黄舟
黄舟 2017-04-21 10:55:21
0
6
535

如题,我在UBUNTU系统下利用记事本编写了一段C程序,程序如下:

main() { char h="Hello World!"; printf("%c\n",h); }

利用终端查看,命令如下:
gcc -g -Wall hello.c -o hello.c
结果出现这样的错误:

hello.c:1:1: 警告: 返回类型默认为‘int’ [-Wreturn-type] hello.c: 在函数‘main’中: hello.c:3:9: 警告: 初始化将指针赋给整数,未作类型转换 [默认启用] hello.c:4:2: 警告: 隐式声明函数‘printf’ [-Wimplicit-function-declaration] hello.c:4:2: 警告: 隐式声明与内建函数‘printf’不兼容 [默认启用] hello.c:5:1: 警告: 在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]

这个是什么问题呢?如何才能看到文字输出?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen (6)
左手右手慢动作
#include  int main(int argc,char *argv[]) { char str[] = "hello world"; printf("%s\n",str); return 0; }

提示隐式声明是因为没有包含头文件:stdio.h

你的printf参数用的是%c(字符),而你想要打印的是字符串应该用%s。偏要打印%c,可以用printf("%c",str[0]);

main函数里没有定义返回值,默认为nt, 而在程序结尾没有返回值,所以提示

警告: 在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]

    大家讲道理
    #include int main() { const char *h="Hello World!"; printf("%s\n",h); return 0; }
      左手右手慢动作

      其实我觉得,出错信息就非常明显,至于%d,%c,%s之类的,应该让提问者自己了解。

      如果看了这个出错信息也找不到问题,那就得好好反思一下了。

        大家讲道理

        我有几个建议:

        1. 花点时间认真学习此书。http://book.douban.com/subject/113933...
        2. 并不建议用中文环境,对日后阅读学习等等都不是很有好处。个人建议把locale设置为en_US.UTF8。
        3. 调试当然是需要掌握gdb等等工具的。coolshell里应该有几个很不错的文章。
          Ty80

          %c 是输出字符
          %s 才是输出字符串

          代码如上面的同学

            刘奇

            程序有错误 C中的的字符串 要用 数组

              Neueste Downloads
              Mehr>
              Web-Effekte
              Quellcode der Website
              Website-Materialien
              Frontend-Vorlage
              Über uns Haftungsausschluss Sitemap
              Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!