一个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
最佳答案
- 五星知识达人网友:woshuo
- 2021-02-03 14:56
调试得到你想要的结果了,问题解决了,是这样的
你的transfer函数里面的static double t=0;错了
如果把这行代码修改为double t=0就对了
所以才有每运行一次transfer,它返回的结果会累加
因为它的值是历史累计值+本次结果值
希望对你有帮助,还有不懂,可以联系我
你的transfer函数里面的static double t=0;错了
如果把这行代码修改为double t=0就对了
所以才有每运行一次transfer,它返回的结果会累加
因为它的值是历史累计值+本次结果值
希望对你有帮助,还有不懂,可以联系我
全部回答
- 1楼网友:第四晚心情
- 2021-02-03 16:36
通俗来讲,i每取一个值都是类a的对象实例化,类只有实例化对象后,这个对象才能被调用,这个类的构造函数有参数,所以这样初始化,也有许多类的构造函数没有参数,初始化时也不必带值了,真接new一个类的对象就行(如new b).
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯