Sí, c[i]=''no es un código válido. Entre paréntesis, carácter constante entre ' ', por ejemplo, c[i] = 'A';char A. pero no escribe ningún carácter en el medio ''.
El espacio vacío no es más que suponga que si desea un espacio asignado, haga lo siguiente:
c[i] = ' ';
si quiere ser asignado nul char, haga:
c[i] = '\0';
Ejemplo: suponga que si c[]una cadena ( \0matriz de caracteres terminada en nul ) si tiene una cadena. por ejemplo:
char c[10] = {'a', '2', 'c', '\0'};
Y reemplaza el segundo carácter con espacio :
c[1] = ' ';
y si lo imprime usando printf de la siguiente manera:
printf("\n c: %s", c);
entonces la salida sería:
c: a c
Y reemplaza el segundo carácter con '\ 0' :
c[1] = '\0';
entonces la salida sería:
c: a
porque la cadena terminó con \0.
c[i]con un espacio en blanco , o desea "eliminar" ese carácter de la matriz como lo haría en un editor cuando presiona la tecla de retroceso (es decir, desea los caracteres c [i-1] yc [ i + 1] para volverse adyacentes después de la operación)?