1.题目
宏#define命令练习
#define又称宏定义,标识符为所定义的宏名,简称宏。
宏所表示的常量可以是数字、字符、字符串、表达式。
首先为大家介绍#define 常用的用来表示变量
#include <stdio.h>
#define NUM 10
#define Fun(x) x*x*x
#define str "abcdef"
void main(){
printf("%d\n",NUM);
printf("%d\n",Fun(5));
printf("%s\n",str);
}
运行结果
2.题目
宏#define命令练习
其次,宏也可以来表达一个函数,,,其中有一点比较重要,就是当用宏来表达一个变量时在后续代码中不能改变这个变量的值,否则会报错。
#include <stdio.h>
#define NUMa 10
#define Fun(a,b);{a=a+b;b=a-b;a=a-b;}
#define NUMb 10
void main(){
int x=10,y=20;
printf("%d,%d\n",NUMa,NUMb);
printf("%d,%d\n",x,y);
Fun(x,y);
printf("%d,%d\n",x,y);
}
运行结果
3.题目
宏#define命令练习
下面为大家介绍一下#define的结束命令,这个大家不常用就是#undef
#include <stdio.h>
#define NUM 10
void main(){
printf("%d\n",NUM);
#undef NUM
int NUM=20;
printf("%d",NUM);
}
#undef 可以结束#define声明的变量。
运行结果
4.题目
#if #ifdef和#ifndef的综合应用。
#include <stdio.h>
#define NUM
#define NMB 10
void main(){
#ifdef NUM
printf("NUM被宏定义了\n");
#else
printf("NUM没被宏定义\n");
#endif
#ifndef MUN
printf("MUN没被宏定义\n");
#else
printf("MUN被宏定义了\n");
#endif
#if NMB==10
printf("NUM=10\n");
#else
printf("NUM!=10");
#endif
}
运行结果
#if 命令要求判断条件为“整型常量表达式”,不能是变量,而#ifdef,#ifndef后面只能跟宏名 ,
而#ifdef与#ifndef的区别从字面上就可以看出,两个结果是相反的。