Why it shows error: expected expression before ‘return’?
Why it shows error: expected expression before ‘return’?
#include<stdio.h>
int main(void)
{
int x=1,y=0;
x>y?printf("Hello World"):return x;
}
为什么显示错误:'return'之前的预期表达式?
这里有什么需要修改的吗?
Why it shows error: expected expression before ‘return’?
三元运算符是一个运算符,需要三个操作数。第一个操作数必须是整数类型的表达式。后两个操作数必须是类型兼容的表达式。
return
语句为其出现的函数指定了一个 return 值,并导致该函数终止。它不是表达式,也不会求值,既不是指定的 return 值,也不是任何其他值。因此,它不能是三元运算符的操作数。
因此,错误消息表示缺少三元运算符的第三个操作数,确实如此,因为 return
语句不能被视为操作数。如果存在,该操作数将出现在 return
.
之前
What is the thing need to be changed here?
要获得您想要的逻辑,需要更改的是三元运算符。请改用 if
/ else
语句:
if (x > y) {
printf("Hello World");
} else {
return x;
}
一般来说,应该避免使用三元运算符。它通常会使代码更难阅读和理解,而且几乎没有抵消的好处。有一天你可能会发现一个编程上下文,其中三元是最干净、最清晰的方式,但在其他任何地方,使用 if
.
三元运算符的主旋律是
condition ? value_if_true : value_if_false
如果满足条件,语句的计算结果为 value_if_true
,否则为 value_if_false
。
阅读更多关于 'ternary operator' [https://www.freecodecamp.org/news/c-ternary-operator/]
如果您的概念不清楚,请尽量避免使用三元运算符。尝试使用 if-else
.
#include<stdio.h>
int main(void)
{
int x=1,y=0;
x>y?printf("Hello World"):return x;
}
为什么显示错误:'return'之前的预期表达式? 这里有什么需要修改的吗?
Why it shows error: expected expression before ‘return’?
三元运算符是一个运算符,需要三个操作数。第一个操作数必须是整数类型的表达式。后两个操作数必须是类型兼容的表达式。
return
语句为其出现的函数指定了一个 return 值,并导致该函数终止。它不是表达式,也不会求值,既不是指定的 return 值,也不是任何其他值。因此,它不能是三元运算符的操作数。
因此,错误消息表示缺少三元运算符的第三个操作数,确实如此,因为 return
语句不能被视为操作数。如果存在,该操作数将出现在 return
.
What is the thing need to be changed here?
要获得您想要的逻辑,需要更改的是三元运算符。请改用 if
/ else
语句:
if (x > y) {
printf("Hello World");
} else {
return x;
}
一般来说,应该避免使用三元运算符。它通常会使代码更难阅读和理解,而且几乎没有抵消的好处。有一天你可能会发现一个编程上下文,其中三元是最干净、最清晰的方式,但在其他任何地方,使用 if
.
三元运算符的主旋律是
condition ? value_if_true : value_if_false
如果满足条件,语句的计算结果为 value_if_true
,否则为 value_if_false
。
阅读更多关于 'ternary operator' [https://www.freecodecamp.org/news/c-ternary-operator/]
如果您的概念不清楚,请尽量避免使用三元运算符。尝试使用 if-else
.