Problema en C; Expresión esperada
Resuelto
siniko44
Mensajes publicados
187
Estado
Miembro
-
siniko44 Mensajes publicados 187 Estado Miembro -
siniko44 Mensajes publicados 187 Estado Miembro -
Hola,
Aquí estoy comenzando en C desde hace poco, y me encuentro con mis primeros problemas.
He creado un pequeño script para un juego, el cual es el siguiente:
Sólo la parte en negrita es la que nos concierne.
El problema es que, durante la compilación, la conocida consola de Windows me devuelve:
test.c: En la función 'jet':
test.c:12:23: error: se esperaba una expresión antes del token '{'
test.c:13:23: error: se esperaba una expresión antes del token '{'
test.c:14:23: error: se esperaba una expresión antes del token '{'
test.c:15:23: error: se esperaba una expresión antes del token '{'
test.c:16:23: error: se esperaba una expresión antes del token '{'
test.c:17:23: error: se esperaba una expresión antes del token '{'
Por lo tanto, ahora me dirijo a ustedes en la esperanza de encontrar una solución.
¡Buenas noches! :p
Aquí estoy comenzando en C desde hace poco, y me encuentro con mis primeros problemas.
He creado un pequeño script para un juego, el cual es el siguiente:
#include <stdio.h> #include <stdlib.h> #include <string.h> int type, isFixe, val, val1, val2; char *typeHex; void jet(int type, int isFixe, int val1, int val2) { switch(type) { case 1: typeHex[2] = {'7','D'}; break; case 2: typeHex[2] = {'7','C'}; break; case 3: typeHex[2] = {'7','6'}; break; case 4: typeHex[2] = {'7','E'}; break; case 5: typeHex[2] = {'7','7'}; break; case 6: typeHex[2] = {'7','B'}; break; } if(isFixe == 1) { printf("Aquí está el jet a copiar: %s#0#0#0#0d0+%d",typeHex,val1); } else { printf("Aquí está el jet a copiar: %s#0#0#0#1d0+%d",typeHex,val2-1,val1-1); } } int main(int argc, char *argv[]) { printf("\tSoftware de creación de Jet by Psycko\n\n"); printf("==============================================\n\n"); printf("1. Vitalidad\t2. Sabiduría\n3. Fuerza\t4. Inteligencia\n5. Agilidad\t6. Suerte\n\n"); printf("Ingrese el número del tipo de jet: "); scanf("%d",&type); printf("Jet fijo(1) o jet no fijo(0) ?"); scanf("%d",&isFixe); if(isFixe == 1) { printf("Valor: "); scanf("%d",&val); jet(type,1,val,0); } else { printf("Valor 1: "); scanf("%d",&val1); printf("Valor 2: "); scanf("%d",&val2); jet(type,0,val1,val2); } printf("\n\n"); system("pause"); } Sólo la parte en negrita es la que nos concierne.
El problema es que, durante la compilación, la conocida consola de Windows me devuelve:
test.c: En la función 'jet':
test.c:12:23: error: se esperaba una expresión antes del token '{'
test.c:13:23: error: se esperaba una expresión antes del token '{'
test.c:14:23: error: se esperaba una expresión antes del token '{'
test.c:15:23: error: se esperaba una expresión antes del token '{'
test.c:16:23: error: se esperaba una expresión antes del token '{'
test.c:17:23: error: se esperaba una expresión antes del token '{'
Por lo tanto, ahora me dirijo a ustedes en la esperanza de encontrar una solución.
¡Buenas noches! :p
2 respuestas
-
Bueno, no conozco el C, pero si no me equivoco metes 2 caracteres en uno solo y el error está ahí;
Además, puedes reemplazar el Switch por un array indexado por el valor Tipo, y me parece que estás redeclarando las variables tipo, val1 y val2...
El roble también fue una bellota, antes de ser un roble
-
case 5:typeHex="77";
Lo que quieras hacer con tu puntero typeHex no está claro. El método que te doy hace que typeHex apunte a una cadena constante, lo cual me parece la mejor solución porque typeHex es una variable global.
--
La verdadera sumisión es cuando los esclavos se preocupan por el precio del algodón.
Char Snipeur