条件编译
/*
#include <stdio.h>
int main()
{
char ch;
while((ch = getchar()) != '\n')
{
//将大写字母转换成小写字母
if(ch >= 'A' && ch <= 'Z')
ch += 32;
//将小写字母转换成大写字母
if(ch >= 'a' && ch <='z')
ch -=32
putchar(ch)
}
return 0;
}
*/
//条件编译:当满足一定条件时才会进行编译,当选择程序段比较多时,比if语句节省编译运行时间
//带#的为预处理指令
//这只是其中一种,还可以定义函数
#include <stdio.h>
int main()
{
char ch;
while((ch = getchar()) != '\n')
{
#if 1 //如果为1,编译此段。如果为0则编译下段
if(ch >= 'A' && ch <= 'Z')
ch += 32;
#else
if(ch >= 'a' && ch <='z')
ch -=32;
#endif
putchar(ch);
}
return 0;
}
条件编译练习题
//输入3个整数,使用条件编译的方式,让其按从小到大或从大到小的方式输出
#include <stdio.h>
int main()
{
printf("请输入3个整数:");
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a > b)
{
int d;
d = a;
a = b;
b = d;
}
if(a > c)
{
int d;
d = a;
a = c;
c = d;
}
if(b > c)
{
int d;
d = b;
b = c;
c = d;
}
#if 1
printf("从小到大的顺序为%d,%d,%d\n",a,b,c);
#else
printf("从大到小的顺序为%d,%d,%d\n",c,b,a);
#endif
return 0;
}