strlen

Vicente
19 de Enero del 2003
Si alguien me puede decir que eslo que falla, se lo agradecere eternamente, gracias,:
#include <stdio.h>
#include <string.h>
#define N 150

typedef enum{falso,cierto}bool;

bool palindromo(char c[])
{
int i,k;
bool es;
i=0;k=0;
k=strlen( c )-1;
printf("longitud:%dn",k);
es=falso;
while((i!=k/2)&&(es==falso))
{
if(c[i]!=c[k-1])
{
es=cierto;
}
else
{
i=i+1;
}
}
return es;
}

int main()
{
char c[N];
bool capicua;
printf("Dime la cadena:");
scanf("%c",&c);
printf("El valor de c= %cn",c);
capicua=palindromo(c);

if(capicua==falso)
{
printf("La cadena es un palindromon");
}
else
{
printf("La cadena no es un palindromon");
}
system ("PAUSE");
return 0;
}

webJose
19 de Enero del 2003
Cuál es el error?

Ivan_Esperi
19 de Enero del 2003
1. system() necesita el archivo de cabecera <stdlib.h>

2. Para leer una cadena es: scanf("%s", c);
%s en lugar de %c, y no lleva el &

3. Para imprimir la cadena tambien sustituye el %c por %s

Saludos