C/Visual C - PUNTEROS

 
Vista:

PUNTEROS

Publicado por NOVATO (46 intervenciones) el 29/03/2006 12:10:38
estoy usando punteros , debo invertir una cadena, esto es lo que tengo y me saca del compilador al terminar la ejecucion.. alguien que me pueda ayudar...

#include<stdio.h>
#include<string.h>
#include<conio.h>

void invierte(char *cad);

void main()
{
char *cadena,*p;
clrscr();
printf("\nCONVIERTE MAYUSCULAS A MINUSCULAS Y VICEVERZA\n");
printf("\n\nIntroduce la cadena: ");
gets(cadena);
p=cadena; //se le asigna el primer elemento
while(*p)
{
if(*p>='A' && *p<='Z')
{
*p=*p+32;
*p++;
}
if(*p>='a' && *p<='z')
{
*p=*p-32;
*p++;
}
if(*p==' ')
{
*p++;
}
}
printf("\nConvertida la cadena es %s\n",cadena);
invierte(cadena);
printf("\nInvertida la cadena es %s\n",cadena);
getch();
}

//invierte una cadena

void invierte(char *cad)
{
int x=strlen(cad);
char *aux;
strcpy(aux,cad);
while(x>0)
{
*cad=*(aux+x-1);
*cad++;
x--;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder