有条件地添加数字

时间:2013-10-06 06:05:30

标签: c if-statement conditional add

这看起来很基本,但我需要添加数字,无论它们是否为“on”(我可能会将此更改为boolean)。所以我的问题是如果有可能,如何在C代码中执行此操作。我尝试了类似的东西和各种演绎:

    dfTotalTaxOwed[nIndex] = dfFedTaxOwed[nIndex]   + if(arrNYStateTaxStatus[nIndex] == 1){dfNYStateTaxOwed[nIndex];}
                                                + if(arrNDStateTaxStatus[nIndex] == 1){dfNDStateTaxOwed[nIndex];}
                                                + if(arrNHStateTaxStatus[nIndex] == 1){dfNHStateTaxOwed[nIndex];}
                                                + if(arrOHStateTaxStatus[nIndex] == 1){dfOHStateTaxOwed[nIndex];}
                                                + if(arrPAStateTaxStatus[nIndex] == 1){dfPAStateTaxOwed[nIndex];}
                                                + if(arrNJStateTaxStatus[nIndex] == 1){dfNJStateTaxOwed[nIndex];}
                                                + dfFicaTaxOwed[nIndex];    

感谢

2 个答案:

答案 0 :(得分:1)

您可以使用ternary operator

expr ? true value : false value

即。将if(arrNYStateTaxStatus[nIndex] == 1){dfNYStateTaxOwed[nIndex];}替换为(arrNYStateTaxStatus[nIndex] == 1) ? dfNYStateTaxOwed[nIndex] : 0

另外,您可能需要考虑重新设计程序以使用字典而不是每个州都有一个数组。

答案 1 :(得分:0)

C控制语句没有返回值,因此这种方法不起作用。有没有理由你不想做一系列if语句,比如

if(arrNYStateTaxStatus[nIndex] == 1) {
    dfTotalTaxOwed[nIndex] += dfNYStateTaxOwed[nIndex];
}