C语言#define例题
1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #define PIN1 char* //简单的字符串替换(宏替换) PIN1 替换 char* 5 typedef char* PIN2; //对类型说明符重新命名 char* 用PIN2 表示 6 7 #define A(x) x;x;x;x;x;x;x;x;x;x; //输出 0~999 的数字 8 9 #define MAX(a,b) (a>b)?a:b //带参数宏定义 MAX为宏名 (a,b) 为参数表 他们之间不能有空格 10 11 #define STR(s1 , s2 , s3 ,sum) strcat(strcat(strcat(sum,s1),s2),s3) //strcat是将后面一个字符串复制到前一个字符串的后面 12 13 #define CORRECT "abc" 14 int main3() 15 { 16 #if( 0 ) 17 PIN1 x,y; //定义define后 char *x , y; 指针为4个字节 18 PIN2 a,b; //定义typedef后 char *x , *y; 19 20 printf("By #define : %d %d \n \n",sizeof(x),sizeof(y)); 21 printf("By #typedef : %d %d \n \n",sizeof(a),sizeof(b)); 22 #endif 23 24 #if( 0 ) 25 int n = 0; 26 A(A(A(printf("%4d",n++)))); 27 if(n % 10 == 0) printf("\n"); 28 #endif 29 30 #if( 0 ) 31 int x, y, max; 32 printf("input two numbers:"); 33 scanf("%d %d",&x,&y); 34 max = MAX(x,y); 35 printf("max = %d\n",max); 36 #endif 37 38 #if( 0 ) 39 char str1[] = "I", str2[] = "love" , str3[] = "you" , str[40] = ""; 40 STR(str1,str2,str3,str); 41 printf("\n\tstr1 = %s\n\tstr2 = %s\n\tstr3 = %s\n\tstr = %s",str1,str2,str3,str); 42 #endif 43 44 #if( 0 ) 45 46 char str[40]; 47 int strcmp(char *str1, char *str2); 48 scanf("%s",str); 49 #ifndef CORRECT //如果未声明CORRECT 就往下执行定义 50 #define CORRECT "abc" 51 #endif 52 if(strcmp(str,CORRECT) == 0) 53 { 54 55 printf("you're right"); 56 } 57 else 58 { 59 printf("error"); 60 } 61 62 #endif 63 64 65 return 0; 66 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix