我正在处理一些与琴弦有关的功能,但我仍然遗漏了一些东西。
unsigned int stringLength(const char source[]) //source[] je předaný jako pointer
{
unsigned int i = 0;
while(source[i] != '\0'){ //'a' je char a "a" je string resp. char array ['a', '\0']
i++;
}
return i; //length
}
//此功能适用于" abef"它输出4等我如何使用它 但是以下功能呢?
int isPalindrome(const char source[]) //array name dává pointer na první char v stringu
{
//malloc tested[] podle stringLength vstupu?, tested+1 pro \0 znak? uvidíme
unsigned int i = 0;
unsigned int j = 0;
char tested[>>>PASS SOURCE LENGTH HERE<<<<]; //bude končit \0 nebo ne? je to char array nebo string?
while(source[i] != '\0'){ //ascii hodnoty 90-65 = 25 && 122-97 = 25, 'a' = 97, 'b' = 98 (automatická konverze)
if((source[i]-97) <= (25)){ //if je malé písmeno (97 až 122)
tested[j] = source[i]; //přiřadit znak do kontrolování palindromu
j++;
}
if((source[i]-65) <= (25)){ //if je velké písmeno (65 až 90)
tested[j] = source[i]+32; //--> malé písmeno
j++;
}
else if(source[i] == 32 || source[i] == 10 || source[i] == 9){ //whitespace
}
else{ //ostatní znaky ascii tabulky
tested[j] = source[i];
j++;
}
i++; //další znak ze vstupu
}
//tested nyní obsahuje platné znaky k testování
}
因为putLength(source)或stringLength(source [])不起作用。