¿Es posible usar strcpy con variables de un solo carácter?
Aquí está la función principal en un programa que escribí en el que necesito ordenar un array de caracteres, colocando al principio los que tienen un código ASCII par y quiero mostrar cómo se ordena el array en cada iteración.
```include<stdio.h>```
```include<stdlib.h>```
```include<string.h>```
int main()
{
int n, i, j;
char echange;
printf("tamaño del array: ");
scanf("%d", &n);
char t[n];
for (i = 0; i < n; i++)
{
printf("ingrese elementos del array: ");
scanf(" %c", &t[i]);
}
for (j = 0; j < n; j++)
for (i = 0; i < n; i++)
{
if ((t[i] % 2 != 0) && (t[i + 1] % 2 == 0) && (i != n - 1))
{
strcpy(echange, t[i]);
strcpy(t[i], t[i + 1]);
strcpy(t[i + 1], echange);
printf(" %c (%d)", t[i], t[i]);
}
else
printf(" %c (%d)", t[i], t[i]);
}
}
Este problema se compila normalmente, pero la salida es extraña:
tamaño del array: 3
ingrese elementos del array: d
ingrese elementos del array: f
ingrese elementos del array: g
2 └ (100) ┴ (102) ┬ (103) └ (100) ┴ (102) ┬ (103) └ (100) ┴ (102) ┬ (103)
El proceso devolvió 0 (0x0) tiempo de ejecución: 4.063 s
Presione cualquier tecla para continuar.
Entonces, ¿qué está mal con mi código? ¿y cómo usar strcpy con caracteres individuales? y por cierto, intenté sin la función strcpy:
echange = t[i];
t[i] = t[i+1];
t[i+1] = echange;
y tampoco funcionó.</string.h></stdlib.h></stdio.h>
davy.ai
Hay algunos problemas con tu código:
Aquí está el código corregido:
Con estos cambios, el programa debería ejecutarse correctamente y mostrar el array ordenado en cada iteración.</string.h></stdlib.h></stdio.h>