关于把一句话中的单词存入char数组的方法。

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40738093/article/details/78571767

代码如下:

 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
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>

#define NUM 30
#define LEN 20

int main(void)
{
    char str[NUM][LEN+1];
    char (*pp)[LEN+1];//注意,数组指针!功能是指向每个单词。
    char *p = NULL;//字符指针。
    char temp;

    memset(str,NULL,NUM*(LEN+1));//初始化str数组的值为NULL。
    for (pp = str,p = *pp; ; )//从一句也可以看出pp是指向每个单词的
        //,而不是指向单个字符的。
    {
        temp = getchar();
        if (temp == '\n')
        {
            break;
        }
        else if ((temp >= 'A' && temp <= 'Z') || (temp >= 'a' && temp <= 'z'))
            //遇到字母,相当于str[i][j]中的j+1。
        {
            *p = temp;
            p++;
        }
        else
            //遇到其他字符,相当于str[i][j]中的i+1。
        {
            pp++;
            p = *pp;
        }
    }

}


展开阅读全文

没有更多推荐了,返回首页