C 什么是;返回列表==NULL?0:列表->;价值+;乐趣(列表->;下一步)";做
我是一名编程初学者,在学习C语言中的列表时,我发现了这个函数,但不知道它是做什么的。有人能解释一下吗C 什么是;返回列表==NULL?0:列表->;价值+;乐趣(列表->;下一步)";做,c,operators,C,Operators,我是一名编程初学者,在学习C语言中的列表时,我发现了这个函数,但不知道它是做什么的。有人能解释一下吗 int fun(list_t *list) { return list == NULL ? 0 : list->value + fun(list->next); } 我认为这是一个简短的如果否则的声明 if (list == NULL) return 0; else { return list->value; fun(list->n
int fun(list_t *list) {
return list == NULL ? 0 : list->value + fun(list->next);
}
我认为这是一个简短的如果否则的声明
if (list == NULL)
return 0;
else {
return list->value;
fun(list->next);
}
这是对的还是我误读了它?代码>:代码>称为: 同:
if(list == NULL) {
return 0;
}
else {
return list->value + fun(list->next);
}
或者更清楚地说:
return (list->value + fun(list->next));
首先计算总和,然后返回结果。代码>?:代码>称为: 同:
if(list == NULL) {
return 0;
}
else {
return list->value + fun(list->next);
}
或者更清楚地说:
return (list->value + fun(list->next));
将首先计算总和,然后返回结果。前面的答案已经回答了您的问题。我只想指出一个区别:三元运算符可用于返回值
if(cond)
str = "foo";
else
str = "bar";
使用三元,您可以编写:
str = cond ? "foo" : "bar";
前面的答案已经回答了您的问题。我只想指出一个区别:三元运算符可用于返回值
if(cond)
str = "foo";
else
str = "bar";
使用三元,您可以编写:
str = cond ? "foo" : "bar";
代码是正确的。
在这段代码中,他们使用了链表、指针,最重要的是,他们使用了条件运算符或三元运算符
在fun函数(list_t*list)中,他们使用了条件运算符。
语法:(条件?真值:假值)
返回列表==NULL?0:列表->值+乐趣(列表->下一步)
这里NULL表示条件,0表示真实部分,list->value+fun(list->next)表示虚假部分。
最后,true或false值将存储在变量列表中并返回。代码正确。
在这段代码中,他们使用了链表、指针,最重要的是,他们使用了条件运算符或三元运算符
在fun函数(list_t*list)中,他们使用了条件运算符。
语法:(条件?真值:假值)
返回列表==NULL?0:列表->值+乐趣(列表->下一步)
这里NULL表示条件,0表示真实部分,list->value+fun(list->next)表示虚假部分。
最后,true或false值将存储在变量列表中并返回。他们使用了条件运算符或三元运算符 在函数
fun(list\u t*list)
中,他们使用了条件运算符
语法:(条件?真值:假值)代码>
返回列表==NULL?0:列表->值+乐趣(列表->下一步)代码>
这里,list==NULL
表示要检查的条件,0
表示真实部分和
list->value+fun(list->next)
表示错误部分
最后,根据条件评估,true或false值将返回给调用函数
如果列表==NULL
为真
0
将被返回
如果它为false,即list==NULL
为false,则list->value
返回,并且它将递归调用
fun(list->next)
他们使用了条件运算符或三元运算符
在函数fun(list\u t*list)
中,他们使用了条件运算符
语法:(条件?真值:假值)代码>
返回列表==NULL?0:列表->值+乐趣(列表->下一步)代码>
这里,list==NULL
表示要检查的条件,0
表示真实部分和
list->value+fun(list->next)
表示错误部分
最后,根据条件评估,true或false值将返回给调用函数
如果列表==NULL
为真
0
将被返回
如果它为false,即list==NULL
为false,则list->value
返回,并且它将递归调用
fun(list->next)
部分正确-如果list!=NULL
将返回list->value+fun(list->next)
的总和由于前一行中的return
语句,代码>将永远不会被调用。仅供参考:部分正确-如果list!=NULL
将返回list->value+fun(list->next)
的总和由于前一行中的return
语句,将永远不会调用code>。供参考: