搜尋

首頁  >  問答  >  主體

ubuntu下寫C程序,如何看輸出結果?

如題,我在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]

這個是什麼問題呢?如何才能看到文字輸出?

黄舟黄舟2863 天前606

全部回覆(6)我來回復

  • ringa_lee

    ringa_lee2017-04-21 10:57:21

    #include <stdio.h>
    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]

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-21 10:57:21

    雷雷

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-21 10:57:21

    其實我覺得,出錯訊息就非常明顯,至於%d,%c,%s之類的,應該讓提問者自己了解。

    如果看了這個出錯訊息也找不到問題,那就得好好反思一下了。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-21 10:57:21

    我有幾個建議:

    1. 花點時間認真學習此書。 http://book.douban.com/subject/113933...
    2. 不建議用中文環境,對日後閱讀學習等等都不是很有好處。個人建議把locale設定為en_US.UTF8。
    3. 調試當然是需要掌握gdb等等工具的。 coolshell裡應該有幾篇很不錯的文章。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-21 10:57:21

    %c 是輸出字元
    %s 是輸出字串

    程式碼如上面的同學

    回覆
    0
  • 怪我咯

    怪我咯2017-04-21 10:57:21

    程式有錯誤 C中的字串 要用 陣列

    回覆
    0
  • 取消回覆