定义一个宏,将大写字母变小写字母
时间: 2023-06-13 18:06:06 浏览: 90
以下是将大写字母变成小写字母的宏定义:
```c
#define toLowerCase(c) ((c >= 'A' && c <= 'Z') ? (c + ('a' - 'A')) : c)
```
使用方法:
```c
char uppercase = 'H';
char lowercase = toLowerCase(uppercase);
printf("%c", lowercase); // 输出 'h'
```
相关问题
汇编大写字母变小写字母
汇编中大写字母与小写字母的ASCII码值相差32,因此可以通过将大写字母的ASCII码值加上32来得到对应的小写字母。以下是一个汇编程序示例,将一个大写字母转换为小写字母:
```
section .data
; 定义一个大写字母的ASCII码值
uppercase db 'H'
section .text
global _start
_start:
; 将大写字母的ASCII码值加载到AL寄存器
mov al, byte [uppercase]
; 判断是否为大写字母
cmp al, 'A'
jl exit
cmp al, 'Z'
jg exit
; 大写字母转换为小写字母
add al, 32
; 将转换后的小写字母存储回uppercase变量
mov byte [uppercase], al
exit:
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
```
在这个示例中,我们首先定义了一个大写字母的ASCII码值,然后将它加载到AL寄存器中。接着,我们使用CMP指令判断该字母是否为大写字母,如果不是则直接退出程序。如果是大写字母,我们使用ADD指令将其转换为小写字母,并将转换后的值存储回uppercase变量中。最后,我们使用MOV、XOR和INT指令退出程序。
delphi6 字符串大写字母变小写,小写字母变大写
在 Delphi 6 中,可以使用 `AnsiUpperCase` 和 `AnsiLowerCase` 函数来实现字符串中大写字母变小写,小写字母变大写。
以下是一个示例代码:
```delphi
var
s: string = 'Delphi6 is Awesome!';
begin
for var i := 1 to Length(s) do
begin
if s[i] in ['a'..'z'] then // 如果是小写字母
s[i] := AnsiUpperCase(s[i])[1] // 将小写字母转换为大写字母
else if s[i] in ['A'..'Z'] then // 如果是大写字母
s[i] := AnsiLowerCase(s[i])[1]; // 将大写字母转换为小写字母
end;
ShowMessage(s); // 输出 "dELPHI6 IS aWESOME!"
end.
```
在上面的代码中,我们先定义了一个字符串 `s`,然后使用 `for` 循环遍历字符串中的每一个字符。如果当前字符是小写字母,就使用 `AnsiUpperCase` 函数将其转换为大写字母;如果当前字符是大写字母,就使用 `AnsiLowerCase` 函数将其转换为小写字母。注意,这里需要取函数返回值的第一个字符,因为函数返回的是一个字符串。
最后,我们使用 `ShowMessage` 函数输出转换后的字符串。这样就实现了字符串中大写字母变小写,小写字母变大写。