用C语言定义一个带参数的宏,将大写字母转换成小写

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:31:12
用C语言定义一个带参数的宏,将大写字母转换成小写

#define a(x) ((x>='A'&&x<='Z') ? (x+32) : x)
-----------------------------------------
回楼下的, 我的程序不是这么写的, 应该是

#include<stdio.h>
#define a(x) ((x>='A'&&x<='Z') ? (x+32) : (x))

int main()
{
char c = 'A';
char b = a(c);
printf("%c",b);
}

晕, 修改一下就到下面来了

#include<stdio.h>

#define a(x) ((x)=(x>='A'&&x<='Z') ? (x+32) : (x))

void main()
{
char c = 'A';
a(c);
printf("%c",c);
}

很明显,楼上的那个不行。

#include <stdio.h>
#define DA(m) (m>='A'&&m<='Z')? (m+32):(m-32)
main()
{
char a;
printf("请输入一个字母:\n");
scanf("%c",&a);
printf("%c",DA(a));
}