parametros - tipos de funciones en lenguaje c
Por qué ''?'' y ''/?'' dar la misma salida en c? (5)
**
the simple answer of your question is
/? means ?. instead of using /? you can using ? .
/? is escape representation and ? is character representation means both are same.
He vinculado una imagen para que la entiendas más fácilmente.
**
"haga clic aquí para ver la imagen" -> en esta imagen necesita encontrar /? en el personaje de Escape
En C, ¿por qué estas dos piezas de código dan la misma salida?
#include<stdio.h>
int main(void)
{
const char c=''/?'';
printf("%c",c);
}
y
#include<stdio.h>
int main(void)
{
const char c=''?'';
printf("%c",c);
}
Entiendo que una barra invertida se usa para hacer comillas ( "
o ''
) y una barra diagonal obvia para el compilador cuando usamos printf (), pero ¿por qué esto funciona para el ''?''?
Citando C11
, capítulo §6.4.4.4p4
La comilla doble
"
y el signo de interrogación?
pueden representar por sí mismos o por las secuencias de escape/"
y/?
, respectivamente, pero...
Énfasis mio
Entonces, ¿la secuencia de escape /?
se trata igual que ?
.
Porque ''/?''
es un código de escape válido y es igual a un signo de interrogación.
cuando estás definiendo un char
o una string
el compilador analiza la barra invertida en ese char
o una string
como una secuencia de escape.
/?
¿Es una secuencia de escape exactamente equivalente a ?
, y se usa para escapar de trigraphs :
#include <stdio.h>
int main(void) {
printf("%s %s", "??=", "?/?="); // output is # ??=
}