如题,我在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]
这个是什么问题呢?如何才能看到文字输出?
Pengisytiharan tersirat adalah kerana fail pengepala tidak disertakan: stdio.h
Parameter
printf
anda menggunakan%c
(aksara) dan rentetan yang ingin anda cetak hendaklah menggunakan%s
. Jika anda ingin mencetak%c
, anda boleh menggunakanprintf("%c",str[0]);
main
Tiada nilai pulangan ditakrifkan dalam fungsi, lalainya ialahnt
, dan tiada nilai pulangan pada penghujung program, jadi ia menggesaSebenarnya, saya rasa mesej ralat itu sangat jelas Bagi %d, %c, %s, dll., penyoal harus memahaminya sendiri.
Jika anda tidak menemui masalah selepas membaca mesej ralat ini, maka anda perlu memikirkannya.
Saya ada beberapa cadangan:
%c ialah aksara keluaran
%s ialah rentetan keluaran
Kod adalah seperti yang ditunjukkan di atas
Terdapat ralat dalam atur cara. Untuk menggunakan rentetan dalam C, gunakan tatasusunan