Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2015, 13:31
Avatar de Pedritogj11
Pedritogj11
 
Fecha de Ingreso: octubre-2015
Ubicación: Murcia
Mensajes: 6
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta ¿Por que se produce este buffer overflow?

Muy buenas, estoy empezando a programar asi que soy un poco novatillo en esto, la verdad es que para tener 15 años creo que esta bien lo que conozco sobre programación. Estoy haciendo un pequeño "minijuego" en C y no se porqué se crashea cada vez que elijo un opción en el menú, no consigo encontrar el error :(. Aquí dejo el código. Gracias de antemano.

[URL="https://gyazo.com/7eeb98bd351b772cdb267146b0b7bed6"]https://gyazo.com/7eeb98bd351b772cdb267146b0b7bed6[/URL]

Código:
/* Programa realizado por @PedroGabaldon el xx-xx-xxxx. Consiste en un pequeño juego. Enjoy it! :) */
#include <stdio.h>
#include <conio.h>

int main (void)
{
	char clave = 'P';
	int opcion;
	printf("##############################################\n#                                            #\n#                                            #\n#                                            #\n#              Mini-juego en C               #\n#              Pedrito - 2015                #\n                                             #\n##############################################");
	printf("\n\n________Menu________");
	printf("\n1. Abrir la caja de Pedrito.");
	printf("\n2. Descifrar clave.");
	printf("\n3. Salir.");
	printf("\n\nSeleccione una opcion:");
	scanf("%s", opcion);
	
	switch (opcion)
	{
		case 1: printf("\nEscribe el codigo:");
				scanf("%s, clave");
				if (clave == 'P')
				{
					printf("Enhorabuena, has abierto la caja. :)");
			    }
			    break;	
	}
	printf("Pulse intro para salir:");
	fflush(stdin);
	getchar();
	
	return 0;
}