Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c:我的函数不计算任何单词_C_String_Function_Pointers_Words - Fatal编程技术网

c:我的函数不计算任何单词

c:我的函数不计算任何单词,c,string,function,pointers,words,C,String,Function,Pointers,Words,我一直在尝试让这个函数获取一个字符串数组并计算字数,但我一直得到0作为我的答案,也就是说,它没有计算任何字数。我想知道是否有人能帮我?我相信逻辑是正确的(我可能是错的),但我对迭代的方式几乎没有把握 谢谢 这是我的密码: int fWords (char **array, int index) { int number = 0; int i = 0; int in = 0; int j = 0; int length = 0; while

我一直在尝试让这个函数获取一个字符串数组并计算字数,但我一直得到0作为我的答案,也就是说,它没有计算任何字数。我想知道是否有人能帮我?我相信逻辑是正确的(我可能是错的),但我对迭代的方式几乎没有把握

谢谢

这是我的密码:

int fWords (char **array, int index) {

    int number = 0;
    int i  = 0;
    int in = 0;
    int j  = 0;
    int length = 0;

    while (i < index) {
       length = strlen (array[i]);
       for (j = 0; array[i][j] < length; j++) {
          if (isspace(array[i][j]) != 0) {
              in = 0;
          }
          else if (in == 0) {
             in = 1;
             number++;
          }
       }

       i++;
    }

    return number;
}
int-fWords(字符**数组,int索引){
整数=0;
int i=0;
int in=0;
int j=0;
整数长度=0;
而(i
此情况不正确:

for (j = 0; array[i][j] < length ; j++)
//          ^^^^^^^^^^^^^^^^^^^^
(j=0;数组[i][j] // ^^^^^^^^^^^^^^^^^^^^ 它应该是简单的

for (j = 0; j < length ; j++)
//          ^^^^^^^^^^
for(j=0;j

这将解决零的问题。

您需要在每次运行内部循环后重置。像这样的

while (i < index) {
   length = strlen (array[i]);
   in = 0;
   //^^^^^^^
   for (j = 0; j < length; j++) {
      if (isspace(array[i][j]) != 0) {
          in = 0;
      }
      else if (in == 0) {
         in = 1;
         number++;
      }
   }

   i++;
}
while(i
非常感谢您!!这很好地解决了我的问题,它实际上是在计数,感谢上帝,哈哈,但由于某种原因,它被咬了一口,我想这是因为我没有正确地传递所有的字符串,或者其他什么,谢谢你!!这实际上解决了我所有的问题problems@kirkosaur:如果答案回答了你的问题,别忘了接受!