Tengo que comenzar con mi disclaimer estándar que no he trabajado mucho con C desde la escuela. Con esto en mente:
No se han declarado iyj correctamente. Tienen que ser declaradas con un tipo de datos (int i, j;). Declaración de variables a nivel mundial está desaconsejado en la mayoría de los casos, por lo que deben ser declaradas dentro de la función de revoluciones y
inbuff deben ser declaradas dentro de principal. Usted no necesita una matriz de caracteres segundo para guardar el resultado, porque para invertir la cadena que se intercambio de los caracteres externos e internos dentro de la matriz de caracteres. Usted no necesita un valor de retorno debido a que el nombre de la matriz es un tipo de puntero y cuando se pasa a una función que está pasando su dirección, por lo que la funtion operará en él directamente.
Para cambiar los caracteres internos y externos, tendrá que utilizar el
strlen () la función de conocer la personalidad cuántos son en la cadena, y tendrá que incluir el encabezado del archivo
string.h .
strlen () devuelve el número de caracteres en la cadena para la cadena de
inusual tendrá una longitud de 7. Dado que la matriz de caracteres que contiene la cadena está indexado a cero, el último carácter es generalmente
strlen (buff) - 1 o
inbuf [6] en este caso. Sin embargo, un problema adicional es la
fgets () contará con el carácter de nueva línea al final de la cadena como un carácter válido, así que el último carácter que queremos invertir será el segundo para el final o
strlen (buff) -2 Su función debería ser algo así, o al menos así es como yo lo hice hace un momento (he usado en vez de i interior, y exterior en lugar de j para los nombres de variable, porque pensé que sería más descriptivo).
void rev(char* s)
{
int inner, outer= strlen(s)-2;
char temp;
for (inner=0; inner < outer; inner++, outer--)
{
temp = s[inner];
s[inner] = s[outer];
s[outer] = temp;
}
}
- void rev(char* s)
- {
- int inner, outer= strlen(s)-2;
- char temp;
-
- for (inner=0; inner < outer; inner++, outer--)
- {
- temp = s[inner];
- s[inner] = s[outer];
- s[outer] = temp;
- }
- }
Free Programming Resources