bueno soy nuevo en el foro, tengo 15 años y recien estoy empezando a programar. Estoy intentando hacer un programa en C que entre otras cosas clasifica un compuesto quimico, pero cuando tengo que llamar a la funcion ecuacion(), le paso 4 argumentos:
2 strings (cada una viene de otra funcion llamada simb() )
2 enteros (los escribo manualmente)
El problema es que me toma bien el primer string y ambos enteros, pero el segundo string me lo toma igual que el primero, aca les dejo el codigo, perdonen si es alguna macana mia xD
Aca llamo a la funcion:
//paso dos simbolos y dos numeros de valencias
printf("Ecuacion(sin balancear): %s", ecuacion(1,1,simb("hidrogeno"),simb(tercera)));
Aca la declaracion:
char *ecuacion(int numv1,int numv2,char simb1[3],char simb2[3]) {...
(no les copio toda la declaracion porque el error esta cuando paso los argumentos, ya que comprobe los argumentos antes de pasarlos y estaban bien, pero al comprobarlos una vez pasados pasaba lo que comente arriba)
Por ejemplo:
- paso la valencia del hidrogeno y del otro elemento (ambas 1) manualmente
- paso el simbolo del hidrogeno mediante una funcion que hice simb()
- paso el simbolo del elemento guardado en la variable tercera (por ejemplo aluminio) tambien mediante simb()
seria como poner ecuacion(1,1,H,Al)
pero cuando compruebo los valores dentro de la funcion ecuacion, es como si hubiera pasado (1,1,H,H)
Gracias y perdonen si lo puse medio confuso