iCAx开思工具箱

标题: 球体函数UF_MODL_create_sphere [打印本页]

作者: jambo436    时间: 2004-11-8 21:11
标题: 球体函数UF_MODL_create_sphere
为什么直径变量的定义是char * diam?
如果我要画一直径是10的球体,到底怎么给定其半径,试了好象char * diam=100;和char * diam="10";都不行.
UF_MODL_create_sphere (
UF_FEATURE_SIGN sign,  
tag_t targ_tag,  
double center[ 3 ],  
char * diam,  
tag_t * sphere_tag );
作者: tari    时间: 2004-11-8 21:27
char diam='10';
函数中用传地址的方式(&diam)试试
作者: jambo436    时间: 2004-11-8 21:31
谢谢,tari
作者: jambo436    时间: 2004-11-8 21:33
还是不行,显示错误;
cannot convert parameter 3 from 'char ** ' to 'char *'
作者: jambo436    时间: 2004-11-8 21:47
我的语句是:
  
UF_FEATURE_SIGN sign_sphere;
tag_t *sphere_tag;
char  *diam="100";
double point_of_center[3]={0,0,0};
UF_MODL_create_sphere1(sign_sphere,  
point_of_center,  
&diam,  
sphere_tag );
  
运行时一个错误:'UF_MODL_create_sphere1' : cannot convert parameter 3 from 'char ** ' to 'char *'
        
作者: wflying    时间: 2004-11-8 22:05
UF_FEATURE_SIGN sign_sphere=UF_NULLSIGN;  
tag_t sphere_tag;  
double diadou=100;
char diam[15];  
double point_of_center[3]={0,0,0};  
sprintf(diam,"%f",diadou);
UF_MODL_create_sphere1(sign_sphere,  
point_of_center,  
diam,  
[$sphere_tag )]  
老兄,试试行否?
作者: jambo436    时间: 2004-11-8 22:23
可以了,谢谢这位兄台,
  
请说说为什么用这几句?
double diadou=100;  
char diam[15];  
sprintf(diam,"%f",diadou);
作者: jambo436    时间: 2004-11-8 22:43
是不是这样理解:
先定义一个字符串数组char diam[15];
然后格式化所要设定的直径的double diadou=100到字符串数组char diam[15];,
但是不明白为什么一定要定义成字符串数组?
作者: wflying    时间: 2004-11-9 08:44
其他方法也是可以的,建议你加强一下C语言的指针!
作者: jambo436    时间: 2004-11-9 08:54
嘿嘿,谢谢楼上的兄弟了




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3