C 在指针数组中搜索以计数字母使用情况
好的,所以我不是在寻找一个完整的答案。我只是不知道从哪里开始。我有一个代码,它声明了一个满是名称的指针数组。目标是编写一个代码来搜索姓名,并计算所使用的每个字母C 在指针数组中搜索以计数字母使用情况,c,pointers,C,Pointers,好的,所以我不是在寻找一个完整的答案。我只是不知道从哪里开始。我有一个代码,它声明了一个满是名称的指针数组。目标是编写一个代码来搜索姓名,并计算所使用的每个字母 /* * Search through each character in s, * whic
/*
* Search through each character in s,
* which is array containing n strings,
* and update the global count array
* with the correct character counts.
* Note: check the examples to see
* if the counts should be case
* sensitive or case insensitive.
*/
void letterCount(char * s[], int n){
//Implement this function
int c = 0,x; // This is what I've done and I
char p = 'a', j = 'z'; // don't know where im messing up.
while (s[c] != '\0') { // I know I can't compare pointer
if (s[c] >= p && s[c] <= j ){ // and integer.
x = *s[c] - 'a';
count[x]++;
}
c++;
}
}
/*
* Initialize each value in the global
* count array to zero.
*/
void initializeCount(){
//Implement this function
int i;
for (i = 0; i < 26; i++){ // Also not sure if this is correct.
count[i] = 0;
}
}
/*
*搜索s中的每个字符,
*它是包含n个字符串的数组,
*并更新全局计数数组
*具有正确的字符计数。
*注意:检查示例以查看
*如果计数是正确的话
*敏感或不区分大小写。
*/
无效字母计数(字符*s[],整数n){
//实现这个功能
int c=0,x;//这就是我所做的,我
charp='a',j='z';//不知道我把事情搞砸了。
虽然(s[c]!='\0'){//我知道我不能比较指针
如果(s[c]>=p&s[c]s[c]
不是字符,它是指针
,您正在比较指针
和无效的字符p
if (s[c] >= p && s[c] <= j ) // here you are comparing address & char, which you shouldn't
如果(s[c]>=p&&s[c]=p&&s[c][i]s[c]
不是一个字符,它是一个指针
,您正在比较指针
和无效的字符p
if (s[c] >= p && s[c] <= j ) // here you are comparing address & char, which you shouldn't
if(s[c]>=p&&s[c]=p&&s[c][i]字符串是一个包含1个或多个字符的数组。长度由最后一个字符表示,带有\0
。这就是为什么至少有1个字符(如果只有\0
-终止符)。(对我来说,您似乎理解这一点。)您没有考虑的是:s
不是一个字符串,而是一个字符串数组。因此,必须有一个外部循环,以i=0对s[i]
进行迭代…n
-1。您必须将代码应用于每个s[i]
(这是一个char*
,指向开头所述的字符串。)“我不知道我在哪里搞砸了”我们也不知道,因为您没有麻烦指定问题是什么。是否有错误?或者它是否工作但给出了错误的结果?字符串是一个包含1个或多个字符的数组。长度由最后一个字符表示,带有\0
。这就是为什么至少有1个字符(如果只有\0
-终止符)。(对我来说,你似乎理解这一点。)你没有考虑的是:s
不是一个字符串,而是一个字符串数组。因此,对于s[i]
,必须有一个外部循环迭代,i=0…n
-1。你必须将你的代码应用到每个s[i]
(这是一个指向开头描述的字符串的char*
)“我不知道我在哪里搞砸了”我们也不知道,因为您没有麻烦指定问题出在哪里。是否有错误?或者它是否工作但给出了错误的结果?s[c]!='\0'
在外部条件下看起来仍然是个坏主意,我希望n
在数组中扮演字符串数的角色。@grek40是的,我没有正确观察。可以将循环旋转到任何字符串“s[c]不是字符,它是字符串”,而不是s[c]
是一个指针,一个指向char
的指针,一个char*
。指针不是数组。s[c]!='\0'
在外部条件下看起来仍然是个坏主意,而我希望n
在数组中扮演字符串数量的角色。@grek40是的,我没有正确观察。可以将循环旋转到“s[c]个字符串的数量不是字符,而是字符串”,不是s[c]
是指针,是指向char
的指针,是char*
的指针。指针不是数组。