I am trying to read each separate word in an input stream to each element in an array. Could somebody help me to point out why I can't print the WordArray out?
Thanks!
/* Task: put in each single word to single element in an
* array and print out.
* only alphanumeric characters are allowed.
*/
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
/***********************Functions******************/
void main (){
static char Array[30];
static char WordArray[30];
int iWord=0;
int iPrint;
int i=0; /* index for array digitArray */
char ch;
printf("Enter a text sentence: ");
ch= getchar();
while (ch != '\n' && isalpha(ch)) {
do {
Array[i] = ch;
i++;
ch = getchar();
}while(isalpha(ch));
Array[i] = '\0';
/*Each word is being placed in 1 element*/
strcpy(&WordArray[iWord],Array);
iWord++;
i = 0;
/* As long as there are more spaces than one
while (ch == ' ') {
ch = getchar();
}
if ((isalpha(ch))==0 && (isspace(ch))==0 && ch!= '\n')
fprintf(stderr,"This is an error.\n");
}/*End while*/
for (iPrint = 0; iPrint<iWord; iPrint++)
printf("%s\n", WordArray[iPrint]);
/* Why can't I print it out???????*/
}/*End Main*/