if(...)double *pt=...;
这里,p是在if“块”内定义的,虽然没有打大括号,但是仍然算是另一个块。也就是说,在if外面,p变量已经超过其作用域了……换句话说,p已经不存在了………………
----------------解决方案--------------------------------------------------------
恩...我只是为了证明能给出函数原形..并不打算给出函数体的实现..自己写的东西才有收获...我把所有指针都用*p表示,如果作用域不结束,编译也通不过
[[it] 本帖最后由 sunkaidong 于 2008-4-29 23:04 编辑 [/it]]
----------------解决方案--------------------------------------------------------
嘿嘿,偷偷笑个,估计飞燕又要不屑了……嘿嘿……
说实在的我也挺不屑的,这东西研究了没用处……
----------------解决方案--------------------------------------------------------
#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
----------------解决方案--------------------------------------------------------
恩,,属于语法.不是算法...其实我快扎语法堆里面转不出来了..好像说语法也没多少..其实要是把c c++ java c#的语法都弄懂弄透头也大....还有些高级主题和高级编程..晕..不过也要快结束了..以后挂燕子的测试上提高算法
----------------解决方案--------------------------------------------------------
#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;
}
----------------解决方案--------------------------------------------------------
上面的,括号是不必要的……
float f=*(float*)add(&a,&b,'f');
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]StarWing83[/un] 在 2008-4-29 23:03 的发言:[/bo]
嘿嘿,偷偷笑个,估计飞燕又要不屑了……嘿嘿……
说实在的我也挺不屑的,这东西研究了没用处……
嘿嘿,偷偷笑个,估计飞燕又要不屑了……嘿嘿……
说实在的我也挺不屑的,这东西研究了没用处……
嘿嘿,sw在用偶的软件来高亮了
[color=white]
----------------解决方案--------------------------------------------------------
我习惯了...呵呵,至少习惯不坏...让程序不至于出现莫名bug...
----------------解决方案--------------------------------------------------------
去掉 括号 也没什么区别啊,一个样
----------------解决方案--------------------------------------------------------