两个问题??每个20分!简单呕! pow的值如果为double类型的话,你当然不能进行&运算了,你要将double类型转成int 类型的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1。按为与操作不能在double上操作2。 return CString(a); return CString(a); 后,还可以付值给b[3]么? 试过了,可以,但是小数点丢了。怎样才保留小数点? CString b; char c[3]; b=s(); strcpy(c,(LPCSTR)b); CString CAaaDlg::s(){ char a[3]={12.2,34.4,23.9}; return CString(a);} void CAaaDlg::OnOK() { CString b; char c[3]; b=s(); strcpy(c,(LPCSTR)b); CDialog::OnOK();}小数点丢了!怎样避免? 1。改成re=a & (int)pow(2,i);就可以了。如果你的i只取整形值,不会损失精度。如果不取整形值,那么同一个浮点数与是没有意义的。2。函数可以返回一个对象,但不能返回一个数组。而且你的char a[3]={0.123,21,32.3432};定义本身就有问题——怎么可以把浮点数赋给字符型变量呢?这样小数点不丢才怪!可以这样改:CString s(int i){ CString szRet; float a[3] = {0.123, 21, 32.3432}; if(i>=3 || i<0) szRet.Empty(); else szRet.Format("%f", a[i]); return szRet;}不过,我其实还是不大明白你的意思。不知这样是不是你的本意。 函数不能返回数组。虽然用返回CString的办法好像返回了一个数组,但这样做,一来系统开销很大(CString的拷贝比较辛苦),二来它只能返回字符型数组。而你要的却是浮点数,用字符变量肯定不行。可以这样做:void s(float c[]){ float a[3] = {0.123, 21, 32.3432}; for(int i=0; i<3; i++) c[i] = a[i];}调用的时候:float c[3];s(c);这样就可以了。 很奇怪的问题 CWnd创建成功 但是OnPaint函数没有触发 回调函数作为静态成员函数的问题 钩子程序问题系列 大量数据记录处理 换工作,散分 想用ShellExecute导入注册表文件,如何不显示“确实要导入”的提示? 100分!!!请问关于TELNET的上、下、左、右键还有退格键还有删除一个字符的实现怎么做?******************此问题,我问了很久了 新手求救!!ODBC打开已经存在的ACCESS失败 开发时,都会有的问题 iso格式如何刻成光盘???? 一个小问题(20)! 请问错在哪里?Debug Assertion Failed!!!
2。 return CString(a);
CString b;
char c[3];
b=s();
strcpy(c,(LPCSTR)b);
{
char a[3]={12.2,34.4,23.9};
return CString(a);
}
void CAaaDlg::OnOK()
{
CString b;
char c[3];
b=s();
strcpy(c,(LPCSTR)b);
CDialog::OnOK();
}
小数点丢了!怎样避免?
定义本身就有问题——怎么可以把浮点数赋给字符型变量呢?这样小数点不丢才怪!可以这样改:
CString s(int i)
{
CString szRet;
float a[3] = {0.123, 21, 32.3432};
if(i>=3 || i<0)
szRet.Empty();
else
szRet.Format("%f", a[i]);
return szRet;
}
不过,我其实还是不大明白你的意思。不知这样是不是你的本意。
void s(float c[])
{
float a[3] = {0.123, 21, 32.3432};
for(int i=0; i<3; i++)
c[i] = a[i];
}
调用的时候:
float c[3];
s(c);
这样就可以了。