可以使用宏函数来改变字符串的大小写。下面是一个示例代码:
#include
#define TO_UPPER_CASE(c) (((c) >= 'a' && (c) <= 'z') ? ((c) - 32) : (c))
#define TO_LOWER_CASE(c) (((c) >= 'A' && (c) <= 'Z') ? ((c) + 32) : (c))
void changeCase(char *str) {
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = TO_UPPER_CASE(str[i]);
} else if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = TO_LOWER_CASE(str[i]);
}
i++;
}
}
int main() {
char str[] = "Hello World";
printf("Original string: %s\n", str);
changeCase(str);
printf("Modified string: %s\n", str);
return 0;
}
在上面的示例中,我们定义了两个宏函数 TO_UPPER_CASE
和 TO_LOWER_CASE
,用于将字符转换为大写和小写形式。然后,我们定义了一个名为 changeCase
的函数,它接收一个指向字符数组的指针,并使用宏函数将字符串中的字符转换为相应的大小写形式。最后,在 main
函数中,我们调用 changeCase
函数来改变字符串的大小写,并打印修改后的字符串。输出将为:
Original string: Hello World
Modified string: hELLO wORLD
这是一个简单的示例,可以根据需要进行扩展和修改。