如何使用';更改if语句';登录C void get\u out\u last\u 10(这边\u t*这边){ int i; 对于(i=(thisWay->gens-9gens-9);i gens;i++){ 打印输出(&thisWay->状态[i],thisWay->高度,thisWay->宽度); }}

如何使用';更改if语句';登录C void get\u out\u last\u 10(这边\u t*这边){ int i; 对于(i=(thisWay->gens-9gens-9);i gens;i++){ 打印输出(&thisWay->状态[i],thisWay->高度,thisWay->宽度); }},c,C,我有这个函数,我不懂符号“?”。 如何更“正常”地更改这些语句。。换句话说,使其逻辑相同?问号(?)和冒号(:)用于条件运算符。对于您的案例,它的工作原理如下 void get_out_last_10(thisWay_t *thisWay) { int i; for (i = (thisWay->gens - 9 < 1 ? 1 : thisWay->gens - 9); i <= thisWay->gens; i++) { printOut(&th

我有这个函数,我不懂符号“?”。 如何更“正常”地更改这些语句。。换句话说,使其逻辑相同?

问号(?)和冒号(:)用于条件运算符。对于您的案例,它的工作原理如下

void get_out_last_10(thisWay_t *thisWay) {
int i;
for (i = (thisWay->gens - 9 < 1 ? 1 : thisWay->gens - 9); i <= thisWay->gens; i++) {
    printOut(&thisWay->states[i], thisWay->height, thisWay->width);
}}
if(这样->gens-9<1)
{
i=1;
}
其他的
{
i=此方式->gens-9;
}
问号(?)和冒号(:)用于表示条件运算符。对于您的案例,它的工作原理如下

void get_out_last_10(thisWay_t *thisWay) {
int i;
for (i = (thisWay->gens - 9 < 1 ? 1 : thisWay->gens - 9); i <= thisWay->gens; i++) {
    printOut(&thisWay->states[i], thisWay->height, thisWay->width);
}}
if(这样->gens-9<1)
{
i=1;
}
其他的
{
i=此方式->gens-9;
}
i=(这条路->第9代发电机组<1?1:这条路->第9代发电机组);
如果你想把它转换成If-else,它会是这样的

i = (thisWay->gens - 9 < 1 ? 1 : thisWay->gens - 9);
if(这样->gens-9<1){
i=1;
}
否则{
i=此方式->gens-9;
}
在这份声明中

if(thisWay->gens - 9 < 1){
    i = 1;
}
else{
    i = thisWay->gens - 9;
}
i=(这边->第9代<1?1:这边->第9代);
如果条件
thisWay->gens-9<1
为真,它将返回
1

否则它将以这种方式返回gens-9 该返回值将被分配给变量
i

i=(thisWay->gens-9<1?1:thisWay->gens-9);
如果你想把它转换成If-else,它会是这样的

i = (thisWay->gens - 9 < 1 ? 1 : thisWay->gens - 9);
if(这样->gens-9<1){
i=1;
}
否则{
i=此方式->gens-9;
}
在这份声明中

if(thisWay->gens - 9 < 1){
    i = 1;
}
else{
    i = thisWay->gens - 9;
}
i=(这边->第9代<1?1:这边->第9代);
如果条件
thisWay->gens-9<1
为真,它将返回
1

否则它将以这种方式返回gens-9 该返回值将分配给变量
i

运算符?:按如下方式使用:

条件作为布尔表达式计算为true或false。基于对布尔条件的求值,如果条件为真,则整个表达式返回值,否则返回值。通常,两个子表达式value_if_true和value_if_false必须具有相同的类型,这决定了整个表达式的类型。这种类型检查的重要性在于运算符在条件赋值语句中最常用。在这种用法中,它作为表达式出现在赋值语句的右侧,如下所示:

这意味着如果之前的情况?是否为真:在执行:冒号之前的操作后执行:冒号之后的操作,然后将获得的值分配给i。因此,如果要将其写入if-else语句中,则为:

variable = condition ? value_if_true : value_if_false .
if(这样->gens-9<1)
{
i=1;
}
其他的
{
i=此方式->gens-9;
}
运算符?:按如下方式使用:

条件作为布尔表达式计算为true或false。基于对布尔条件的求值,如果条件为真,则整个表达式返回值,否则返回值。通常,两个子表达式value_if_true和value_if_false必须具有相同的类型,这决定了整个表达式的类型。这种类型检查的重要性在于运算符在条件赋值语句中最常用。在这种用法中,它作为表达式出现在赋值语句的右侧,如下所示:

这意味着如果之前的情况?是否为真:在执行:冒号之前的操作后执行:冒号之后的操作,然后将获得的值分配给i。因此,如果要将其写入if-else语句中,则为:

variable = condition ? value_if_true : value_if_false .
if(这样->gens-9<1)
{
i=1;
}
其他的
{
i=此方式->gens-9;
}

在您的书籍或参考资料中查找“条件运算符”您也可以使用max(1,thisWay->gens-9)来获得相同的结果。在您的书籍或参考资料中查找“条件运算符”您也可以使用max(1,thisWay->gens-9)来获得相同的结果。如果(thisWay->gens-9)中缺少
<1
您在
if(这边->gens-9)中缺少
<1