HOLA AMIGOS TENGO UN ERROR DE COMPILACION EN ESTE CODIGO
El problema esta en la linea 21 ''for (char*ap=palabradusuario; *ap; ap++)''
y el error es el siguiente '''for' loop initial declaration used outside C99 mode ''
ESTOY USANDO EL COMPILADOR DVE C++ LES AGRADECERIA MUCHO SU AYUDA GRACIAS
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
system ("color f1");
printf(" Integrante:Analiz Molero,Eliany barreto\n\n");
printf(" #####################################");
printf(" # Juego el Ahorcado #");
printf(" #####################################");
printf("\n\n Usuario escriba una palabra para adivinar:\n\n");
char palabradusuario[20];
gets (palabradusuario);
system ("CLS");
char acertadas[20];
strcpy (acertadas, palabradusuario);
int largo = strlen (palabradusuario);
for (char*ap=palabradusuario; *ap; ap++)
printf("'_');
int errores = 0, acierto;
for (;;) {
printf("Escribe una letra: ");
char letra;
gets(letra);
char*ap;
int acierto = 0;
for (ap = acertadas; *ap; ap++)
if (*ap == letra) {
*ap = '_';
acierto = 1;
}
if (!acierto) {
if (++errores >= 5) {
printf("Demasiados errores!!!");
break;
} else
printf("Error!!! solo te quedan ",5 - errores," oportunidades");
} else {
acierto = 0;
for (int i = 0; palabradusuario[i]; i++)
if (palabradusuario[i] != acertadas[i])
printf("%s",palabradusuario[i]);
else {
printf("'_'";
acierto = 1;
}
cout << endl;
if (!acierto) {
printf("\tFelicidades!!! has ganado.\n");
break;
}
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
en c no puedes declarar una variable dentro de un for, tienes que hacerlo al principio de la funcion.
Lo puedes hacer segun el estandar C99, si tu compilador es gcc compilalo con estas opciones:
gcc -std=c99
gracias amigo lo provare