Tema: dudas code
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/01/2007, 22:00
Avatar de _Lucifer_
_Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: dudas code

Cita:
Por que me imprime 3 y no 9, si estoy pasando como parametro la direcicon de memoria del array??
Si arreglas el error que menciono abajo imprime 9.
Cita:
char a[10]={1,2,3,4,5};
funcion(a);
Esto me hace pensar que no ejecutaste el programa, el arreglo a es del tipo char y tu funcion recibe un arreglo de tipo int, en cualquier compilador que pruebes obtendras un error en esa lina. Cambia en tipo char a int en la declaracion del arreglo. Para que quede asi:
Código:
#include<stdio.h>
#include<stdlib.h>

void funcion(int []);

void main()
{
  int a[10]={1,2,3,4,5};
  funcion(a);
  printf("%d",a[2]);
}

void funcion(int a[])
{
  int i;
  a[2]=9;
}
Cita:
Pues bien, he hecho un code, para comprobar eso, y sigue cambiando el valor,retornando el puntero, al igual q con "&var"... q pasa??
Postea el codigo para ver, asi se despejaran mejor las dudas.
Cita:
Por que no se puede poner esto : while (s1[i]!='\0')&& (!log)?? Me da error en el compilador, q pasa? (log es de tipo logico, en este caso, log=cierto)...
Lo tienes asi:
Código:
while (s1[i]!='\0')&& (!log)
y deberia ser:
Código:
while( (s1[i]!='\0')&& (!log) )
Fijate en los parentesis que agregue. Los coloque mas separados para que los vieras, los espacios no seran tomados en cuenta al momento de compilar.
Cita:
a ver prueba poniendo la funcion arriba del void main
marlonbtx eso no tiene nada que ver con el error que menciona. Ademas asi como tu indicas sigue estando el error de compilacion, creo que debe ser algo de "no coinciden los tipos" o "no se puede convertrir de .... a ...."

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: