Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 268

 
borilunad:

Gracias. ¡No sabía que se podía comparar así! Hay un número n de elementos, y N es el límite del número de elementos. Echaré un vistazo al Doc, ¡aclararé mi cabeza!

No encontré este caso en el Doc. ¡Cuánto más desconocido-desconocido nos espera!


Esto es de la norma C. Se pueden comparar muchas cosas en C en general, un lenguaje mal tipado, pero toda la responsabilidad recae en el programador. MKL es esencialmente un C despojado, escrito en él (más precisamente, MS VS 6.0 es C\C++), probablemente, el proyecto ya ha sido portado a una plataforma más moderna. No en vano, los desarrolladores sugirieron remitirse al estándar C para todos los casos de baja visibilidad en los primeros días del desarrollo de MKL4.
 
borilunad:

No pude encontrar este caso en el Dock. ¡Cuánto más desconocimiento-desconocimiento nos espera!

Lee la expresión de izquierda a derecha por defecto.
 
VladislavVG:

¿Por qué hay un error? Ambos son correctos desde el punto de vista del compilador, pero significan cosas diferentes y eso depende del programador ;).

No se deje engañar. El resultado de una operación booleana será 0 o 1 (supongo), por lo que las expresiones no son equivalentes independientemente de cómo se evalúen los operadores, porque la segunda comparación será con un resultado booleano.
 
TheXpert:
No se deje engañar. El resultado de una operación booleana será 0 o 1 (supongo), por lo que las expresiones no son equivalentes independientemente del orden en que se evalúen los operadores, porque la segunda comparación será con un resultado booleano.

¿Hablamos ya de sentido común?
 
TheXpert:
No se deje engañar. El resultado de una operación booleana será 0 o 1 (supongo), por lo que las expresiones no son equivalentes independientemente del orden en que se evalúen los operadores, porque la segunda comparación será con un resultado booleano.

Exactamente, y este 0/1 se comparará con N. ¿Y dónde he engañado? ¿Y de qué equivalencia de expresiones hablas?
 
VladislavVG:

Exactamente, y este 0/1 se comparará con N. ¿Y dónde he engañado? ¿Y de qué equivalencia de expresiones hablas?

Eso no iba dirigido a ti, ichyko.
 
tara:

Eso no iba dirigido a ti, ichyko.


Pues en este post TheXpert está citando mi post. Por lo tanto, se puede entender que es una respuesta a mi declaración.

No estaba hablando de la equivalencia de las expresiones. Estaba hablando de la sintaxis correcta desde el punto de vista del compilador en ambas expresiones - incluso dice que estas expresiones significan cosas diferentes.

Creo que puedo tener problemas con el idioma ruso: al fin y al cabo, vivo en Ucrania y las últimas tendencias en el idioma ruso pueden haberse perdido. Por eso trato de aclarar: qué tipo de palabras mías se utilizaron para sacar una conclusión sobre la equivalencia de las expresiones. Tal vez me equivoqué - entonces es necesario aclarar mis declaraciones para que no haya posibilidad de interpretaciones ambiguas.
 
Zhunko:
Por defecto, lee la expresión de izquierda a derecha.
Esta expresión la obtuve por accidente después de editar el código, pero ahora sólo la dejé si(n < N), que es más fácil y no me molesta demasiado. Y cuando necesite algo así, ¡sabré que también puedo hacerlo así! Gracias, ¡lo has explicado! Y todavía no consigo llegar a C, aunque tengo un volumen enorme de más de mil páginas de C++ desde hace mucho tiempo. Todavía no se puede, ¡Todo se come todo el tiempo!
 
VladislavVG:
¿Y dónde he engañado?
Vale, en ningún sitio. Pero es mejor hablar de estas cosas explícitamente. De lo contrario, algunas personas no lo entenderán, como yo.
 
¿Y qué pasa con los novatos, señores?