Hi,
I was reading a text file,and storing each word in a struct:
Code:
typedef struct WordNode{
	struct wordNode *nextWord;
	char *word;  //store the word
	int whiteSpaces; //num of spaces between words
}wordNode;
and i got a function makeWordNode function to create a word node

Code:
wordNode *makeWordNode(char* string,int numSpaces){
	wordNode *newWordNode;
	newWordNode=(wordNode*)malloc(sizeof(wordNode));  
	strcpy(newWordNode->word,string); 
	newWordNode->whiteSpaces=numSpaces;
	newWordNode->nextWord=NULL;
	
	printf("#%s->%d#",newWordNode->word,newWordNode->whiteSpaces);
	return newWordNode;
}
interesting this code wont work and crashes.so i added printing of # char to check where the code hangs:
Code:
wordNode *makeWordNode(char* string,int numSpaces){
	wordNode *newWordNode;
	newWordNode=(wordNode*)malloc(sizeof(wordNode)); printf("#");
	strcpy(newWordNode->word,string); 
	newWordNode->whiteSpaces=numSpaces;
	newWordNode->nextWord=NULL;
	
	printf("#%s->%d#",newWordNode->word,newWordNode->whiteSpaces);
	return newWordNode;
}
Interestingly the 2nd version works fine and prints correct output.I cant figure out the reason for this wierd error.

help me!! Thanks