c:我的函数不计算任何单词
我一直在尝试让这个函数获取一个字符串数组并计算字数,但我一直得到0作为我的答案,也就是说,它没有计算任何字数。我想知道是否有人能帮我?我相信逻辑是正确的(我可能是错的),但我对迭代的方式几乎没有把握 谢谢 这是我的密码: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
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:如果答案回答了你的问题,别忘了接受!