|
|
|
|
 整数的数据类型问题,我居然也没弄好,大家帮看一下 - hcb [ 2005-06-25 09:15 | 889 byte(s)]
 Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下 - zhangxp [ 2005-06-25 11:34 | 88 byte(s)]
 Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下 - hcb [ 2005-06-25 15:56 | 414 byte(s)]
 Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下 - zhangxp [ 2005-06-26 10:10 | 66 byte(s)]
 Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下 - kangjie501 [ 2005-06-25 21:03 | 35 byte(s)]
 Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下 - hcb [ 2005-06-25 21:21 | 103 byte(s)]
 Re: 整数的数据类型问题,我居然也没弄好,大家帮看一下 - zhangxp [ 2005-06-25 11:33 | 77 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]
|
|
[Original]
[Print]
[Top]
|
UNIX System V, 是在公司的仓库里找到的,Unsys 公司产的386的小型机,还能用,因为看见有几本UNIX的手册,大部分的用法都和Linux相同,所以就用那些手册来参考。
我的 int (*p)() 是整数类型
man 3 printf 查手册显示 int printf(const char *format, ...);
这个也是整数类型的函数啊,怎么会和我的变量类型不匹配呢?我该怎么设置变量类型才可以呢?我不想它产生任何警告的问题,免得代码多了出错就不好查
|
|
|
[Original]
[Print]
[Top]
|
|
|