c++中赋初值问题?

来源:百度知道 编辑:UC知道 时间:2024/05/20 18:32:29
原代码如下:
class js{
private:
double xf[5];
double qx[5];
char km[4][1];

public:
void cz(){

xf[5]={5,3,3,2,1};
qx[5]={1.2,1.2,1.3,1,2};
km[][]={"C++","English","Math"};
}
编译报错,怎样写才正确,急急急急急急!

xf[5]={5,3,3,2,1}; 这样的写法只能在定义变量的同时这么写, 至于赋值就不能这么干了

所以要一个一个的赋值..
xf[0] = 5, xf[1] = 3... 这样写过去

double xf[5]={5,3,3,2,1};
定义时才能这样赋值

class js{
private:
double xf[5];
double qx[5];
char km[4][1];

public:
void cz(){

xf[1]=5,xf[2]=3,xf[3]=3,xf[4]=2,xf[5]=1;
qx[1]=1.2,qx[2]=1.2,qx[3]=1.3,qx[4]=1,qx[5]=2;
km[1]="C++",km[2]="English",km[3]="Math";
}
};

class js{
private:
double xf[5];
double qx[5]; //float qux[5];
char km[4][1]; //char km[4][7];

public:
void cz(){

xf[5]={5,3,3,2,1};
qx[5]={1.2,1.2,1.3,1,2}; //错误,double定义的是整数,应该改成float。
km[][]={"C++","English","Math"}; //错误,km[4][1],可以定义4个变量,但是每个变量长度不能大于1,应该改成km[4][7]。
}

对于数组要么在声明的时候直接赋值,用{},或者就要在定义的时候对每个元素赋值。

km[][]={"C++","English","Math"}; 的问题,
你的数组不够大啊