Buenas,
Llevo dos dias con este programa y no consigo sacar el error.
El programa compilandolo en windows con turbo C funciona a la perfección, en linux... todo lo contrario.
El programa es el juego del 21 de las cartas (ningun jugador puede pasar de 21)
Aquí el código:
http://pastebin.es/1887
El problema creo que está en el paso de valores a las funciones, o en el almacenamiento de las propias variables del main..
Un ejemplo..
La variable jugada_turno aveces pasa -1232323 sin sentido o la variable numero_jugadores se pone en 0 cuando esta inicializada a 2... por arte de magia vamos..
Esto es lo que he podido deducir después de hacer miles de debuggs con ddd.
Repito que en windows funciona a la perfección..
Explico el programa por si os interesa.
La función conseguir_carta hace un random de 1 a 13 y devuelve un entero.
La funcion asignar_carta, asigna el número anterior a una jugada de un jugador en concreto.Ej:Jugada 1 jugador 0 = 8.
La funión operaciones_matematicas solo controla que ningun jugador se pase de 21 y cuando alguno lo haga devuelva el numero de jugador que lo ha echo para asi en el main ponerle en el array plantado[numero_jugador] un 1 para asi saber que este jugador no juega más.
La función acabar comprueba que todos los jugadores del array plantado esten a 1, si lo están devuelve resultado=1 y acaba el programa..
Si algun me echa una mano se lo agradecería mucho