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 # ??=
}