例如:有以下字符串 字符串是:char str*="ok112009this9964541look" 提取字符串里的单词并输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include<stdio.h>
#include<ctype.h>
#include<memory.h>
int
main()
{
char
*str=
"ok112009this9964541look"
;
char
*fun=str;
int
state;
for
(;(*fun)!=
'\0'
;fun++)
{
while
(
isalpha
(*fun)&&(*fun)!=
'\0'
)
{
putchar
(*fun);
fun++;
state=1;
}
if
(state)
printf
(
" "
);
state=0;
}
return
0;
}
|
思路:顺序读入,判断是否为字母, 是则顺序输出,不是则输出空格然后把 state置为0。 有效的解决了重复输出空格的问题