指针函数(返回值为指针的函数):指针变量一定需要分配地址,否则不可以赋值
1 记住:指针一定分配地址
2 函数名在vs软件中max_test函数名不能直接写成max函数名,否则会报返回值类型不一致。因为max调用的是系统函数max,返回值是int类型。
#include
#include //maolloc需要
//要求:写一个求取最大值的程序,使用指针函数
#define TESTCASE 3
//注意点:一定要给指针分配一个地址。
int *max_test(int a, int b)
{
#if TESTCASE==0
//报错代码int *p = NULL;//指针初始化,但是没有给指针赋值地址哦!!!!*p = a > b ? a : b;return p;
#elif TESTCASE==1
//正确代码int *p = (int *)malloc(sizeof(int)); //给指针分配地址,在内存中分配地址。*p = a > b ? a : b;return p;
#elif TESTCASE==2
//正确代码int c= a>b?a:b;return &c;
#else TESTCASE==3
//正确代码int *p;int c;c = a > b ? a : b;p = &c; //给指针分配地址,赋值地址。return p;
#endif
}int main(void)
{int *p;p=max_test(3, 4); //给指针分配地址,赋值地址。printf("最大值%d\n", *p);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
