int main() { int i,voild,s=1; int ch[8],*n; cout<<"Please enter 8 bit binary number:"; cin>>new ch[8]; //错误 n=&ch[8];//错误 if(*n==1) for(i=7;i<=7;i++) {s=power(2,i); //错误 voild+=s;} cout<<"value is:"<<voild; } double power(double x,int n) { double vol=1.0; while(n--) vol*=x; return (vol); } 这是一个2进制转化10进制的函数。我想用数组装载输入的八位2进制数用new动态分配下空间来存放这8个数,然后用指针指向 数组中的具体数值,从最左边开始一次指到最右边,如果是‘1’那么就调用power();然后把结果累加起来。 有一个心结就是我用指针的时候总是出问题,书上的例子全能看明白,可是自己写 的程序就是有错误,我在写些例子请明白的帮我详细解释下: char ch[10]; int *n; *n=ch[10]; *n=&ch[10]; n=ch[10]; n->ch[10]; n=&ch[10]; 我可能是书没看太明白,反正是网络也不怕出丑 呵呵 麻烦各位了;我只有30分先给10分吧 顺便问下怎么能加分(回答别的问题我是够呛了)