int main() {
char str1[21];
char str2[21];
char l_str1[21];
char l_str2[21];
printf("Please enter the first word: ");
scanf("%s", str1);
printf("Please enter the second word: ");
scanf("%s", str2);
Lowercase_Strings(str1, l_str1);
Lowercase_Strings(str2, l_str2);
printf("Lowercase string 1: %s", l_str1);
printf("Lowercase string 2: %s", l_str2);
// Converts original strings to lower case, keeping original string unchanged
void Lowercase_Strings(char str[21], char l_str[21]) {
char c;
int i;
for(i = 0; i < strlen(str); ++i) {
c = str[i];
l_str[i] = tolower(c);
}
}
嘿男孩/女孩!这里是新的,所以如果我的格式化方式有什么问题,我不会介意批评。
这是我的程序中的一个片段,用于检查两个字符串是否是彼此的字谜,不区分大小写。
但是,与l_str1
数组相比,数组总是以某种方式“损坏” l_str2
,无论调用顺序Lowercase_Strings
或分配给任一数组的字符串如何。
例如,str1 = "MARY"
andstr2 = "ARMY"
将导致l_str2 = "army"
, 但l_str1 = "mary"
最后有 2 个随机符号。
如果有人知道发生了什么,将不胜感激。