如题,我在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]
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
#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]
BIG阳
TA贡献1859条经验 获得超6个赞
#include<stdio.h>int main(){ const char *h="Hello World!"; printf("%s\n",h); return 0; }
- 2 回答
- 0 关注
- 259 浏览
添加回答
举报
0/150
提交
取消