3

我目前正在学习如何用 C 编程。作为额外的练习,我的老师给了我一些问题。这是我的问题,我必须在我的程序中使用它:

 void strSplitTokens (char *s1, char s2[][], int *numWords);

这是问题的其余部分:对 strSplitTokens 的调用将字符串 s1 分解为单词,然后将每个单词保存在不同的 char 数组中,所有字符串都保存在单个字符数组中。此外,它使用 numWords 中的指针保存字数。使用以下内容在 main 中打印字符串:

For(i=0;i<numWords;i++) printf("%s\n",s2[i]);

如果我运行它并给它一个我喜欢编程的句子,我需要它输出:

一世

编程

我的主要问题是我被告知不要使用 string.h,我有点迷失在没有它的情况下如何做到这一点。任何建议和指导将不胜感激。

到目前为止,我所拥有的主要是没有意义的模拟代码:

#include <stdio.h>
void strSplitTokens (char *s1, char s2[][], int *numWords);
int main()
{
    printf("Enter a sentence: ");
    strSplitTokens();

 For(i=0;i<numWords;i++) 
{
        printf("%s\n",s2[i]);
}
    return 0;
}
void strSplitTokens (char *s1, char s2[][], int *numWords);
{
    char s1;
    scanf("%s",&s1);
    if( s1 != '\n')
    {
        strSplitTokens();

    }
}
4

1 回答 1

2

逐个字符检查。将每个字符放入二维数组中,直到出现空间。

i=0;j=0;k=0;  
while(s[k]!='\n') {
    if(s[k]!=' ')
    {
        s1[i][j]=s[k];
        k++; 
        j++;
    }
    else{
        j=0;i++;
    }

}
于 2012-11-27T04:51:54.523 回答