预处理命令 || 宏定义 || 带参数的宏定义
生活随笔
收集整理的這篇文章主要介紹了
预处理命令 || 宏定义 || 带参数的宏定义
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <stdio.h>//說明:在windows 操作系統和 linux操作系統下,生成源碼不一樣!!!//#include <windows.h> //int main() { // Sleep(5000); //毫秒 // puts("hello, 代止兮~"); //輸出 // getchar(); // return 0; //}#if _WIN32 //如果是windows平臺, 就執行 #include <windows.h> #include <windows.h> #elif __linux__ //否則判斷是不是linux ,如果是linux 就引入<unistd.h> #include <unistd.h> #endif int main() {//不同的平臺下調用不同的函數#if _WIN32 //識別windows平臺Sleep(5000); //毫秒#elif __linux__ //識別linux平臺sleep(5); //秒#endifputs("hello, 代止兮~"); //輸出getchar();return 0; }
#include <stdio.h> //宏定義 , 宏名 M , 對應的字符串 (n*n+3*n) //注意:如果宏對應的字符串 有 () , 那么就不能省略 #define M (n*n+3*n)int main(){int sum, n;printf("k=%d", n);printf("Input a number: ");scanf("%d", &n); //n = 3sum = 3*M+4*M+5*M; // 宏展開? 3*(n*n+3*n);+4*(n*n+3*n);+5*(n*n+3*n);printf("sum=%d\n", sum);getchar();getchar();return 0; }
#include <stdio.h>//說明 //1. MAX 就是帶參數的宏 //2. (a,b) 就是形參 //3. (a>b) ? a : b是帶參數的宏對應字符串,該字符串中可以使用形參 #define MAX(a,b) (a>b) ? a : b int main(){int x , y, max;printf("input two numbers: ");scanf("%d %d", &x, &y);//說明//1. MAX(x, y); 調用帶參數宏定義//2. 在宏替換時(預處理,由預處理器), 會進行字符串的替換,同時會使用實參, 去替換形參//3. 即MAX(x, y) 宏替換后 (x>y) ? x : ymax = MAX(x, y);printf("max=%d\n", max);getchar();getchar();return 0; }
#include <stdio.h> #include <stdlib.h>int SQ(int y){ //函數, 求y的平方return ((y)*(y)); }int main(){int i=1;while(i<=5){printf("%d^2 = %d\n", i-1, SQ(i++)); // i++ ——》 i-1 等價于 i}system("pause");return 0; }
總結
以上是生活随笔為你收集整理的预处理命令 || 宏定义 || 带参数的宏定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打印金子塔||打印乘法表 用函数的思想实
- 下一篇: 数组 ——求出一组数的最大值(用数组