¿Por qué no podemos usar la palabra clave return dentro de operadores ternarios en C, como esta: sum> 0? return 1: return 0;Operadores ternarios y retorno en C
Respuesta
return
es una afirmación. Las declaraciones no se pueden usar dentro de expresiones de esa manera.
Porque una operación ternaria es una expresión y no puede usar declaraciones en las expresiones.
Sin embargo, puede utilizar fácilmente un operador ternario en una devolución.
return sum > 0 ? 1 : 0;
O como DrDipShit señaló:
return sum > 0;
de just: return sum> 0; que funciona como regresar 1 o 0 de todos modos. –
@DrDipShit: muy cierto, en este caso, que funciona igual de bien :) – Wolph
Debido return
es una afirmación, no una expresión. Tampoco puedes hacer int a = return 1;
.
Consulte la sintaxis de un operador ternario es
expr1 ? expr2: expr3;
donde expr1
, expr2
, expr3
son expresiones;
El operador ?:
funciona de la siguiente expr1
se evalúa primero si bien es cierto expr2
se evalúa lo contrario se evalúa expr3
.
por lo tanto, en expresiones la declaración de return no se puede utilizar en lenguaje C.
-1, realmente no responde la pregunta. también SO no está diseñado para atraer tráfico a su sitio web – Hasturkun
Con solo mirar la sintaxis, debe saber que una declaración no se puede usar en una expresión. Lo que desea se puede lograr haciendo: return sum > 0 ? 1 : 0;
- 1. operadores ternarios en C#
- 2. ¿Puedo crear operadores ternarios en C#?
- 3. Operadores ternarios múltiples
- 4. RedirectToAction() vs. View() y los operadores ternarios?
- 5. ¿Cómo concatenar múltiples operadores ternarios en PHP?
- 6. C preprocesador # y ## operadores
- 7. C# Operadores y legibilidad
- 8. C# Operadores implícitos y ToString()
- 9. C# Operadores Explícitos y Herencia
- 10. Son. y -> en C y C++ ¿realmente operadores?
- 11. ¿cuál es el punto de utilizar operadores ternarios en lugar de SI ES ENTONCES?
- 12. + =, +, == y = operadores
- 13. Cómo conseguir que los operadores ternarios envueltos línea ReSharper formato de la siguiente manera
- 14. C++ typedefs y la sobrecarga de operadores
- 15. sobrecarga de operadores en C#
- 16. && = y = || operadores
- 17. ¿Definir nuevos operadores en C#?
- 18. Usar operadores iguales en C#
- 19. sobrecarga de operadores en C
- 20. Operadores de conversión en C++
- 21. Operadores vs Funciones en C/C++
- 22. punteros C++ a operadores
- 23. operadores esotéricos de C++
- 24. pre y post operadores de incremento/decremento en C#
- 25. typedef y la sobrecarga de operadores en C++
- 26. Usando la flecha -> y punto. operadores juntos en C
- 27. Cuál es la diferencia entre & y operadores & en C#
- 28. Operadores y métodos en Ruby
- 29. ¿Qué operadores lógicos de C++ usa: y, o, no, y los operadores de estilo il o C? ¿por qué?
- 30. pitón y/o operadores de valor
¿Qué pasa con 'return sum> 0? 1: 0; '? –
O, para el caso, 'if (sum> 0) return 1; else return 0; ' –
Gracias por todas las respuestas. No hay nada de malo con return sum> 0? 1: 0; Solo quiero saber por qué no podemos usarlo de la manera mencionada anteriormente en la pregunta. – nullpointerexception