C 中的条件运算符的用法如下:
condition ? value_if_true : value_if_false
0 在 value_if_false
中使用时意味着什么? ?
例如,我见过一些人这样使用它。
a == b ? i++ : 0
好像什么也没做。这是否像 return 0
一样工作?在其他功能中?
最佳答案
在 C 语言中,三元是 if 语句的较短版本,它需要 if_true
和 if_false
这两个语句。它会是这样的(事实上,一种情况可以有多个语句,用逗号分隔):
简短:
condition ? if_true : if_false;
长:
if (condition) {
if_true;
} else {
if_false;
}
如果您在条件
前面放置一些内容,您也可以分配该值。
简短:
result = condition ? if_true : if_false;
长:
if (condition) {
result = if_true;
} else {
result = if_false;
}
现在这就是窍门。在 C 语言中,编写 0;
是一个有效的语句,因此您的三元数会变成更长的版本,与下面的代码相同:
if (a == b) {
i++;
} else {
0; /* This is valid C statement */
}
或者如果你也有作业,那就是:
if (a == b) {
result = i++;
} else {
result = 0;
}
您还可以这样做:
int a;
/* Code here ... */
condition ? a = 5: 0;
这实际上等同于:
if (condition) {
a = 5;
} else {
/* DO not touch a */
}
关于c - C 中的条件运算符如何使用 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62004752/