首页 新闻 搜索 专区 学院

(C语言)Devc++和Linux上的gcc编译同样的代码,前者正常运行,而后者编译有警告且运行有段错误?

0
[已关闭问题] 关闭于 2019-05-29 13:28

本人在Devc++和Linux上的gcc编译同样的代码,前者正常运行,而后者编译有警告而且运行有段错误。

本人代码如下:
1 #include<stdio.h>
2
3 int main()
4 {
5 int ( myshow)(const char ,...);
6 printf("HI!,printf'address is %#xn",printf);
7 //把一个地址强制类型转换成函数
8 myshow=(int ()(const char ,...))0x402b08;
9 myshow("123n");

Devc++运行结果(没编译警告和错误):
HI!,printf'address is 0x402b08
123

Linux下编译及运行结果:
编译:
root@ubuntu:/mnt/hgfs/Share/C# gcc -o build 4.myshow.c
4.myshow.c: In function ‘main’:
4.myshow.c:6:2: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘int ()(const char restrict)’ [-Wformat]
运行:
root@ubuntu:/mnt/hgfs/Share/C# ./build
HI!,printf'address is 0x8048300
Segmentation fault (core dumped)

就如上问题,请教大家以下!希望能得到有效的帮助哈!(^_^)

c
小鹏友00的主页 小鹏友00 | 菜鸟二级 | 园豆:202
提问于:2019-05-28 16:51
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册