int i,j,ctr; printf("\n\n Split string by space into words :\n"); printf("---------------------------------------\n"); printf(" Input a string : "); gets(str1); j=0; ctr=0; for(i=0;i <= strlen(str1) ;i++) { // if space or NULL found, assign NULL into newString[ctr] if(str1[i]==' '||str1[i]=='\0') { newString[ctr][j]='\0'; ctr++; //for next word j=0; //for next word, init index to 0 } else { newString[ctr][j]=str1[i]; j++; } } printf("\n Strings or words after split by space are :\n"); for(i=0;i < ctr;i++) { printf(" %s\n",newString[i]); }
THOSE IN BOLD AND UNDERLINE I DON'T KNOW WHAT DO THEY DO IN THE CODE AND I DON'T UNDERSTAND WHAT IS AN ARRAY WITH SIZE [10][10] WHAT DOES THAT MEAN AND WHAT IS THE ROLE OF CTR AND J ON THE CODE, COULD YOU PLEASE ILLUSTRATE THEIR USE IN THE CODE.
char newString[10][10];
int i,j,ctr;
printf("\n\n Split string by space into words :\n");
printf("---------------------------------------\n");
printf(" Input a string : ");
gets(str1);
j=0; ctr=0;
for(i=0;i <= strlen(str1) ;i++)
{
// if space or NULL found, assign NULL into newString[ctr]
if(str1[i]==' '||str1[i]=='\0')
{
newString[ctr][j]='\0';
ctr++; //for next word
j=0; //for next word, init index to 0
}
else
{
newString[ctr][j]=str1[i];
j++;
}
}
printf("\n Strings or words after split by space are :\n");
for(i=0;i < ctr;i++)
{
printf(" %s\n",newString[i]);
}
Step by step
Solved in 2 steps