Diferencias entre usar caracter o secuencia de escape

Iniciado por Caster, 29 Enero 2012, 11:28 AM

0 Miembros y 1 Visitante están viendo este tema.

Caster

Estoy leyendo sobre las secuencias de escape y me surge estas duda:

Cuál es la diferencias entre usar:

printf("Hola\?");

Mostrará esto:

Hola?

O poner lo mismo sin la secuencia de escape "\?":

printf("Hola?");

Que mostrará lo mismo

EDITO:

Mi duda no es solo con esta, hay algunas más como la comilla simple " \' ", la barra lateral (no el comentario) "\\" o la doble comilla " \" "  que hacen lo mismo que la del ejemplo.


Saludos y gracias

fary

Estas seguro de que '\?' es una secuencia de escape?, yo nunca la habia oido.
Un byte a la izquierda.

Caster

Cita de: Drinky94 en 29 Enero 2012, 12:19 PM
Estas seguro de que '\?' es una secuencia de escape?, yo nunca la habia oido.


Según el libro que estoy leyendo sí.

DickGumshoe

Ser, debe ser una secuencia de escape, porque si en el compilador pones, por ejemplo, \y, compila, pero te da un error en las notificaciones. Sin embargo, si ponemos \?, no da error, aunque yo tampoco le veo diferencias a ? y \?.

Tengo descargados varios libros, y en unos viene como secuencia de escape, y en otros no...

Xandrete

El interrogante no parece importante. Tal vez, '\?' sea el símbolo por defecto que se muestra para un "carácter no imprimible" (que en tu caso es un interrogante mondo y lirondo). Pero vamos, no creo que sea algo crítico (tu aprendizaje no se va a ver drásticamente influenciado por esta tontería). Los que si son importantes son los otros que citas:

"\\" Sirve para imprimir una barra inclinadad normal (\). Si pusieras "\" a secas, le estarías indicando al compilador que el siguiente carácter lo interprete como secuencia de escape (y al tratarse en este caso de las comillas, no estarías cerrando correctamente el string).

"\"" Sirve para imprimir unas comillas ("). Si pusieras """ estarías abriendo el string, cerrandolo y volviéndolo a abrir.

'\'' Idem que en el caso anterior, pero con comillas simples. En un string más largo se puede poner la comilla simple perfectamente, sin necesidad del \ (por ejemplo: " 'Hola' y 'adios' ").

Repito, no te agobies por lo del interrogante. ¡Hay cosas más divertidas  ;D!

Saludos