天天看点

截取一句话中的单词(C语言)

#include <stdio.h>
#include <assert.h>

int GetWordNum(char *str)
{
	assert(str!=NULL);
	int num=0;
	char *pChar=(char*)str;
	while (*pChar!='\0')
	{
		char *pBegin=pChar;						//每个单词的头指针
		while (*pChar!=' ' && *pChar++!='\0');
		char *pEnd=pChar--;
		num++;
		printf("第%d个单词是:",num);
		while (pBegin!=pEnd)
		{
		printf("%c",*pBegin);
		pBegin++;
		}
		printf("%c",'\n');
	
		pChar++;								//因为上面做了一次pChar--,所以有两次pChar++;
		pChar++;
	}
	

	return num;
}
void main()
{
	char a[100]={NULL};
	printf("输入一个字符串(不超过100个字符):");
	gets(a);
	int len=GetWordNum(a);
	printf("总共有%d个单词\n",len);
	getchar();
}