0
我試圖做一個程序來檢測缺少的字母,如果一個句子不是pangram。我在這裏搞亂了指針和數組,而我完全迷失了。 我不得不返回一個字符指針到函數getMissing Letters,並且它接受作爲參數的句子來檢查它是否爲a pangram。數組指針和返回類型
一個PAngram包含所有26個字母a-z。
#include <stdio.h>
include <stdlib.h>
char * getMissingLetters(const char *sentence)
{
char ch, allchars[26] = {0};
char * missing[26]={0};
int total = 0,i;
while ((ch = *sentence++)) {
int index;
if('A'<=ch&&ch<='Z')
index = ch-'A';
else if('a'<=ch&&ch<='z')
index = ch-'a';
else
continue;
total += !allchars[index];
allchars[index] = 1;
}
for(i=0;i<26;i++)
{
if(allchars[i]==0)
missing[i]=(char)(i+97);
printf("missing[i]=%c\n",missing[i]);
}
return missing;
}
int main()
{
int i;
const char *tests[] = {
"A slow yellow fox crawls under the proactive dog",
"The quick brown fox jumps over the lazy dog.",
"Lions, and tigers, and bears, oh my!"
};
char * missing[26];
for (i = 0; i < 3; i++){
missing = isPangram(tests[i]);
}
return 0;
}
您能更具體地瞭解您遇到的問題嗎?另外,我建議你閱讀[c-faq.com](http://c-faq.com/)上的[指針部分](http://c-faq.com/ptrs/index.html),並可能還有其他與指針相關的部分。 – ughoavgfhw 2013-02-25 23:58:36