我读写成C++代码强制括号
for (kf=0; kf<nf; kf++)
if (EPS_MOCK[kf] == 1)
for (i=0; i<nptsx; i++)
for (j=0; j<nptsz; j++)
{
x0[iv] = log(inv_Controls->epsilonBed.GetElem(j,i,kf));
iv = iv+1;
}
for (kf=0; kf<nf; kf++)
if (inv_num_packman[kf] == -1)
for (i=0; i<nzx; i++)
{
x0[iv] = log(inv_Controls->num_packman[i+kf*nzx]);
iv = iv+1;
}
else if (inv_num_packman[kf] == 1)
{
x0[iv] = log(inv_Controls->num_packman[kf*nzx]);
iv = iv+1;
}
;而将括号中的设置将
for (kf=0; kf<nf; kf++){
if (EPS_MOCK[kf] == 1){
for (i=0; i<nptsx; i++){
for (j=0; j<nptsz; j++)
{
x0[iv] = log(inv_Controls->epsilonBed.GetElem(j,i,kf));
iv = iv+1;
}
}
}
}
for (kf=0; kf<nf; kf++){
if (inv_num_packman[kf] == -1){
for (i=0; i<nzx; i++){}
{
x0[iv] = log(inv_Controls->num_packman[i+kf*nzx]);
iv = iv+1;
}
}
else if (inv_num_packman[kf] == 1)
{
x0[iv] = log(inv_Controls->num_packman[kf*nzx]);
iv = iv+1;
}
}
是第一个版本正确的一段代码?这里的括号只是为了更好的可读性还是强制编译器理解代码的逻辑?
真的,你应该瞄准尽可能写出最可读的代码。第一种形式等同于第二种形式对于许多人来说可读性较差。 – shuttle87