#include <iostream>
using namespace std;
#define LETTER 1 //LETTER为0时输出小写,反之大写,只能取整数
int main()
{
char str[20]="C Language",c;
int i=0;
while((c=str[i])!='\0')
{
i++;
#if LETTER
if(c>='a'&&c<='z') c=c-32;
#else
if(c>='A'&&c<='Z') c=c+32;
#endif
cout<<c;
}
return 0;
}
此代码由下面页面中的错误代码修改而来:https://blog.csdn.net/qq_33658067/article/details/79443014
#define 定义一个预处理宏
#undef 取消宏的定义
#if 编译预处理中的条件命令,相当于C语法中的if语句
#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句
#ifndef 与#ifdef相反,判断某个宏是否未被定义
#elif 若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
#else 与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
#endif #if, #ifdef, #ifndef这些条件命令的结束标志.
defined 与#if, #elif配合使用,判断某个宏是否被定义