|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求助:函数的返回值是指针
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
4282
人关注过本帖
标题:
求助:函数的返回值是指针
只看楼主
加入收藏
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
11
楼
收藏
得分:0
还有,你的代码,有点问题哦,
if(...)double *pt=...;
这里,p是在if“块”内定义的,虽然没有打大括号,但是仍然算是另一个块。也就是说,在if外面,p变量已经超过其作用域了……换句话说,p已经不存在了………………
专心编程………
飞燕算法初级群:3996098
我的Blog
2008-04-29 22:54
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
12
楼
收藏
得分:0
恩...我只是为了证明能给出函数原形..并不打算给出函数体的实现..自己写的东西才有收获...我把所有指针都用*p表示,如果作用域不结束,编译也通不过
[[it] 本帖最后由 sunkaidong 于 2008-4-29 23:04 编辑 [/it]]
学习需要安静。。海盗要重新来过。。
2008-04-29 22:57
举报帖子
使用道具
赠送鲜花
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
13
楼
收藏
得分:0
嘿嘿,偷偷笑个,估计飞燕又要不屑了……嘿嘿……
说实在的我也挺不屑的,这东西研究了没用处……
专心编程………
飞燕算法初级群:3996098
我的Blog
2008-04-29 23:03
举报帖子
使用道具
赠送鲜花
beyond0702
来 自: 桂 林
等 级:
新手上路
帖 子:219
专家分:0
注 册:2007-11-17
第
14
楼
收藏
得分:0
#include<stdio.h>
void* add(void* lv,void* rv,char op)
{
switch (op)
{
case 'i':*(int*)lv+=*(int*)rv;break;
case 'l':*(long*)lv+=*(long*)rv;break;
case 'f':*(float*)lv+=*(float*)rv;break;
case 'd':*(double*)lv+=*(double*)rv;break;
}
return lv;
}
int main()
{
float a=1,c=2;
float b=*((float*)*add(&a,&c,'f'));
//这里应该怎么改,,???
printf("%f\n",b);
return 0;
}
cpp(16) : error C2100: illegal indirection
2008-04-29 23:05
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
15
楼
收藏
得分:0
恩,,属于语法.不是算法...其实我快扎语法堆里面转不出来了..好像说语法也没多少..其实要是把c c++ java c#的语法都弄懂弄透头也大....还有些高级主题和高级编程..晕..不过也要快结束了..以后挂燕子的测试上提高算法
学习需要安静。。海盗要重新来过。。
2008-04-29 23:07
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
16
楼
收藏
得分:0
#include<stdio.h>
void* add(void* lv,void* rv,char op)
{
switch (op)
{
case 'i':*(int*)lv+=*(int*)rv;break;
case 'l':*(long*)lv+=*(long*)rv;break;
case 'f':*(float*)lv+=*(float*)rv;break;
case 'd':*(double*)lv+=*(double*)rv;break;
}
return lv;
}
int main()
{
float a=1,c=2;
float b=*((float*)add(&a,&c,'f'));
printf("%f\n",b);
return 0;
}
学习需要安静。。海盗要重新来过。。
2008-04-29 23:08
举报帖子
使用道具
赠送鲜花
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
17
楼
收藏
得分:0
上面的,括号是不必要的……
float f=*(float*)add(&a,&b,'f');
专心编程………
飞燕算法初级群:3996098
我的Blog
2008-04-29 23:21
举报帖子
使用道具
赠送鲜花
雨中飛燕
等 级:
新手上路
帖 子:765
专家分:0
注 册:2007-10-13
第
18
楼
收藏
得分:0
[bo]以下是引用 [un]StarWing83[/un] 在 2008-4-29 23:03 的发言:[/bo]
嘿嘿,偷偷笑个,估计飞燕又要不屑了……嘿嘿……
说实在的我也挺不屑的,这东西研究了没用处……
嘿嘿,sw在用偶的软件来高亮了
" border="0" />[color=white]
2008-04-29 23:25
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
19
楼
收藏
得分:0
我习惯了...呵呵,至少习惯不坏...让程序不至于出现莫名bug...
学习需要安静。。海盗要重新来过。。
2008-04-29 23:25
举报帖子
使用道具
赠送鲜花
beyond0702
来 自: 桂 林
等 级:
新手上路
帖 子:219
专家分:0
注 册:2007-11-17
第
20
楼
收藏
得分:0
去掉 括号 也没什么区别啊,一个样
2008-04-29 23:25
举报帖子
使用道具
赠送鲜花
24
2/3页
1
2
3
快速回复:
求助:函数的返回值是指针
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029815 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved