Hola, estoy tratando de crear esta micro aplicaciòn en C para identificar si la cadena ingresada es un comentario, un identificador, o ninguno.
Las convenciones son:
/*(cadena)*/ -> comentario
_(cadena) -> identificador
(cadena) _(cadena) */ -> ninguno de los dos
Cuando ejecuto el programa me tira "Fallo de segmentación (Core Dumped)", según tengo entendido se debe generalmente a un bug en el código; después de estar horas tratando de descubrir qué es no logro entender cuál es la falla.. así que agradecería si pudieran darme una mano.
El código es el siguiente:
Código:
#include <stdio.h>
#include <string.h>
int main()
{
char cadena[] = "";
char * cad;
char * busqueda;
char * busq;
long int total_c;
printf( "ingrese una oracion: " );
scanf( "%s", cadena );
busqueda = strstr( cadena, "/*" );
if( busqueda != NULL )
{
busq = strrchr( cadena, '*' );
total_c = busq - cadena;
cad = &cadena[ total_c ];
if( strcmp( cad, "*/" ) == 0 )
{
printf( "La cadena ingresada es un comentario." );
}
}
else
{
busqueda = strstr( cadena, "_" );
if( busqueda != NULL )
{
printf( "La cadena ingresada es un identificador." );
}
else
{
printf( "La cadena ingresada no es ni un comentario ni un identificador." );
}
}
return 0;
}
Si sirve de algo, el sistema operativo que utilizo es Linux.
Desde ya, muchas gracias por su tiempo.