永发信息网

一个C++的简单问题,设计数组,指针,输入,求助~!!!

答案:2  悬赏:10  手机版
解决时间 2021-02-04 02:15
  • 提问者网友:沉默菋噵
  • 2021-02-03 14:19
n";0'8' int i;0',k); for(k=0;k=0; else if(c=='1') return 1;10;i++) printf(" else if(c==',c[i]); double a=transfer(c),a); for(i=0;i<,数组没变,但再次用transfer处理c就变了; #include<) return 4; else if(c=='5') return 5#include) {for(j=0;} 程序如上; else if(c=='j;123;stdlib.h>k--) t+=a[i-1-k]*mi(10,transfer函数对c数组处理后; printf("%f\k>=0;%c\n"ctype; printf("%f\k--) t+=a[i-1-k]*mi(10;datatype q=1; for(i=0;) { for(j=0;transfer1(c[i+1+j])> } double transfer(char c[]){ int i,j,k; int *a; a=(int *)malloc(sizeof(int)); else if(c=='} int transfer1(char c){ if(c=='0') return 0,刚好变成两倍又是为什么;%c\n" else if(c=='=0;j++) a[i+j]=transfer1(c[i+j+1]); if(c[i+j+1]=='\) return 2; else if(c=='3') return 3;/* printf(".h> #include typedef double datatype; datatype mi(datatype x.345",k); for(i=0;i<10;i++) printf("4'%c\n") return 8; else if(c=='9') return 9; return t; } else return -1; } else if(c[i]=='\,int y){ int i;.'i=0 将a指针改为数组后还是一样啊··
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-02-03 14:56
调试得到你想要的结果了,问题解决了,是这样的
你的transfer函数里面的static double t=0;错了
如果把这行代码修改为double t=0就对了
所以才有每运行一次transfer,它返回的结果会累加
因为它的值是历史累计值+本次结果值

希望对你有帮助,还有不懂,可以联系我
全部回答
  • 1楼网友:第四晚心情
  • 2021-02-03 16:36
通俗来讲,i每取一个值都是类a的对象实例化,类只有实例化对象后,这个对象才能被调用,这个类的构造函数有参数,所以这样初始化,也有许多类的构造函数没有参数,初始化时也不必带值了,真接new一个类的对象就行(如new b).
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯