Pregunta

¿Cuál fue la razón original de usar? secuencia de trigraf de algunos caracteres para convertirse en otros caracteres en ansi c como:

??=define arraycheck(a, b) a??(b??) ??!??! b??(a??)

convertirse en

#define arraycheck(a, b) a[b] || b[a]
¿Fue útil?

Solución

Respuesta corta: teclados/codificaciones de personajes que no incluyeron tales gráficos.

De Wikipedia:

El conjunto de caracteres básico del lenguaje de programación C es un superconjunto del conjunto de caracteres ASCII que incluye nueve caracteres que se encuentran fuera del conjunto de caracteres invariante ISO 646. Esto puede plantear un problema para escribir el código fuente cuando el teclado que se usa no admite ninguno de estos nueve caracteres. El comité ANSI C inventó los trigraphs como una forma de ingresar el código fuente utilizando teclados que admiten cualquier versión del conjunto de caracteres ISO 646.

http://en.wikipedia.org/wiki/digraphs_and_trigraphs

Otros consejos

Algunos teclados antiguos no tenían personajes específicos en ellos, por lo que el lenguaje funcionó a su alrededor al permitirle usar trigraphs.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top