Red de conocimiento informático - Computadora portátil - Ingresando una cadena con espacios en lenguaje C, ¿cómo separar la cadena según los espacios y almacenarla en una matriz?

Ingresando una cadena con espacios en lenguaje C, ¿cómo separar la cadena según los espacios y almacenarla en una matriz?

El código fuente del programa es el siguiente:

#include

#include

int?main (void)

{

char str[1000];//definir una matriz de cadenas

char strnew[1000];//definir una matriz de cadenas alternativas

char m[]? =?" ??" ;//definir una variable de espacio

printf("Ingrese una cadena de caracteres:"); //solicitud de texto para cadena

gets(str);//cadena de entrada

char?*p?=?strtok(str,m);//tomar un puntero entre cadena y m

printf("%s\ n",p);?//Salida

p?=?strtok(NULL,m);?

while( p)?// Salida transversal

{ ?

printf("%s\n",p // Cadena de salida

p); ?= ?strtok(NULL,m); ?//Señalar el siguiente

}

}

Salida del programa:

C: in Introduzca una cadena en una matriz y elimine espacios.

#include

#include

#define N 100

void main() ?

{

int i=0,j;

char c,str[N];

printf("Cadena de entrada str:\n");

while((c=getchar())! = '\n')

{

str[i]= c;//cadena de entrada

i++;

}

str[i]='\0';?

for( i=0;cadena[i]! = '\0';i++)

{ si(cadena[i]==' ')

{

for(j=i+1;cadena[j]!= '\0';j++)

{

cadena[j-1]=cadena[j]; /p>

}

str[j]='\0';

}

si no, continuar;

}

str[i-2]='\0';

printf("La cadena después de eliminar espacios es:\n");

for(i=0; cadena[i]! = '\0';i++)

printf("%c",cadena[i]);

printf("\n");

}