【发布时间】:2021-02-26 02:42:33
【问题描述】:
我在 C 中有这段代码,我希望 expCompare 没有嵌套的 if。请问除了这个还有什么办法吗?
typedef struct expo Exponent;
struct expo {
char tag;
int ex;
int ey;
int ez;
};
int expCompare(Exponent alpha, Exponent beta) {
if (alpha.ex > beta.ex) {
return 1;
} else if (alpha.ex == beta.ex) {
if (alpha.ey > beta.ey) {
return 1;
} else if (alpha.ey == beta.ey) {
if (alpha.ez > beta.ez) {
return 1;
} else if (alpha.ez == beta.ez){
return 0;
} else {
return -1;
}
} else {
return -1;
}
} else {
return -1;
}
}
【问题讨论】:
-
如何使用逻辑运算符
if ( (alpha.ex == beta.ex) && (alpha.ey > beta.ey) )
标签: c function if-statement struct nested