题目:设计并测试一个函数,其功能是读取输入行里的第一个单词到数组,并丢掉该行中其他的字符。一个单词的定义是一串字符,其中不含空格,制表符和换行符。
代码实现:
/**<设计并测试一个函数,其功能是读取输入行里的第一个单词到数组,并丢掉该行中
其他的字符。一个单词的定义是一串字符,其中不含空格,制表符和换行符 */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void word(char *a);
#define MAX 100
int main()
{
char a[MAX];
printf("输入字符串\n");
gets(a);
word(a);
puts(a);
return 0;
}
void word(char *p)
{
char *temp; //增加一个游动检测指针
temp = p;
while(isspace(*temp)) //循环结束时候,temp指向的是字符串首个不是空白符的字符
{
temp++;
}
for(;isspace(*temp)==0 && *temp != '\0'; temp++) //isspace检测字符是空白符时候,返回非零值
{
*p = *temp;
p++;
}
*p = '\0';
}
运行结果: