URN Logo
UNIX Resources » Linux » China Linux Forum » C/C++编程版 » 31 » 整数的数据类型问题,我居然也没弄好,大家帮看一下
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
整数的数据类型问题,我居然也没弄好,大家帮看一下
 
 
 
 
 
 
 
Subject: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: hcb    Posted: 2005-06-25 09:15    Length: 889 byte(s)
[Original] [Print] [Top]
环境 Red Hat Linux 9

测试代码:
#include <stdio.h>

int test_print(char *str)
{
return(printf("TEST_%s ",str));
}

int main()
{
int (*p)(); /*指向函数的指针*/
printf("Test the code..... ");
p=test_print; /*这句能通过*/
p("OK");
p=printf; /*这句出错,cc 或 gcc 都不能通过*/
p("OK ");
exit(0);
}

这段代码在UNIX system V 上通过,但是在Linux上就编译不过

思路: p是一个指向整数型函数的指针,test_printf() 是用户的整数型函数,printf()是系统的整数型函数。

当指针指向用户的整数型函数时,正确,而指向系统的整数型函数就不正确呢?要怎么更改?

谢谢!~~
[Original] [Print] [Top]
Subject: Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: zhangxp    Posted: 2005-06-25 11:33    Length: 77 byte(s)
[Original] [Print] [Top]
p 和printf 类型不兼容,

并且能编译通过,只是警告而已。。。
----
想要不被人拒绝,最好的办法是先拒绝别人。
[Original] [Print] [Top]
Subject: Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: zhangxp    Posted: 2005-06-25 11:34    Length: 88 byte(s)
[Original] [Print] [Top]
不过 , 现在 还有 UNIX system V 吗..

哪弄的。。

----
想要不被人拒绝,最好的办法是先拒绝别人。
[Original] [Print] [Top]
Subject: Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: hcb    Posted: 2005-06-25 15:56    Length: 414 byte(s)
[Original] [Print] [Top]
UNIX System V, 是在公司的仓库里找到的,Unsys 公司产的386的小型机,还能用,因为看见有几本UNIX的手册,大部分的用法都和Linux相同,所以就用那些手册来参考。

我的 int (*p)() 是整数类型
man 3 printf 查手册显示 int printf(const char *format, ...);
这个也是整数类型的函数啊,怎么会和我的变量类型不匹配呢?我该怎么设置变量类型才可以呢?我不想它产生任何警告的问题,免得代码多了出错就不好查
[Original] [Print] [Top]
Subject: Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: kangjie501    Posted: 2005-06-25 21:03    Length: 35 byte(s)
[Original] [Print] [Top]
printf有可变参数,这与p的原型不符。
[Original] [Print] [Top]
Subject: Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: hcb    Posted: 2005-06-25 21:21    Length: 103 byte(s)
[Original] [Print] [Top]
有什么办法解决呢?
printf()是系统函数改变不了的,我的 int (*p)()该怎么写才能和fprint()相一致?
[Original] [Print] [Top]
Subject: Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下
Author: zhangxp    Posted: 2005-06-26 10:10    Length: 66 byte(s)
[Original] [Print] [Top]
int (*p)(const char *format, ...);

就行了。。。
----
想要不被人拒绝,最好的办法是先拒绝别人。
[Original] [Print] [Top]
« Previous thread
紧急!)请哪位大侠帮忙看一下这个数据包重定向程序有什么问题?(代码很短)
C/C++编程版
31
Next thread »
哪位能帮忙解决下面这道题急用
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 03:52:50, cost 0.062299966812134 ms.