Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Caster en 29 Enero 2012, 11:28 am



Título: Diferencias entre usar caracter o secuencia de escape
Publicado por: Caster en 29 Enero 2012, 11:28 am
Estoy leyendo sobre las secuencias de escape y me surge estas duda:

Cuál es la diferencias entre usar:

Código
  1. printf("Hola\?");

Mostrará esto:

Código:
Hola?

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

Código
  1. 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


Título: Re: Diferencias entre usar caracter o secuencia de escape
Publicado por: fary en 29 Enero 2012, 12:19 pm
Estas seguro de que '\?' es una secuencia de escape?, yo nunca la habia oido.


Título: Re: Diferencias entre usar caracter o secuencia de escape
Publicado por: Caster en 29 Enero 2012, 12:21 pm
Estas seguro de que '\?' es una secuencia de escape?, yo nunca la habia oido.


Según el libro que estoy leyendo sí.


Título: Re: Diferencias entre usar caracter o secuencia de escape
Publicado por: DickGumshoe en 29 Enero 2012, 12:31 pm
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...


Título: Re: Diferencias entre usar caracter o secuencia de escape
Publicado por: Xandrete en 29 Enero 2012, 13:08 pm
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


Título: Re: Diferencias entre usar caracter o secuencia de escape
Publicado por: Caster en 29 Enero 2012, 13:10 pm
Ok, muchas gracias