目錄
- 一.#運算子簡介
- 二.#運算子使用
- 三.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.#運算子簡介
在 C 語言關于 define 的文章中我們有介紹到:凡是以 # 開頭的均為預處理指令,預處理又叫預編譯,預編譯不是編譯,而是編譯前的處理,這個操作是在正式編譯之前由系統自動完成的,
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 #運算子
//@Time:2021/07/10 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/
#include<stdio.h>
#define FUNC(a,b) printf("a+b=%d \n",((a)+(b)));
int main()
{
FUNC(1,5);
FUNC(100,500);
return 0;
}
/*
輸出:
a+b=6
a+b=600
*/
這并不是我們想要的結果,如果我們想得到的結果是:
1+5=6
100+500=600
可能比較聰明的小伙伴會說,這個簡單:
#define FUNC(a,b) printf("%d+%d=%d \n",(a),(b),((a)+(b)));
除了這種方式,我們需要額外介紹一個方式:#運算子
C 語言允許在字串中包含宏引數,在類函式宏(帶參宏)中,# 號作為一個預處理運算子,可以把記號轉換成字串,
例如,如果
A是一個宏形參,那么 #A 就是轉換為字串A的形參名,這個程序稱為字串化(stringizing),
二.#運算子使用
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 #運算子
//@Time:2021/07/10 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/
#include<stdio.h>
//#define FUNC(a,b) printf("#a+#b=%d \n",(a)+(b)); //錯誤寫法
#define FUNC(a,b) printf(#a "+" #b "=%d \n",(a)+(b)); //正確寫法
int main()
{
FUNC(1,5);
FUNC(100,500);
return 0;
}
/*
輸出:
1+5=6
100+500=600
*/
注意:
#define FUNC(a,b) printf("#a+#b=%d \n",(a)+(b)); //錯誤寫法
#define FUNC(a,b) printf(#a "+" #b "=%d \n",(a)+(b)); //正確寫法
三.猜你喜歡
- C 語言 陣列下標越界和記憶體溢位區別
- C 語言 指標宣告和定義
- C 語言 指標 p++ / p–
- C 語言 p++/§++/_(p++)/_p++
- C 語言 使用指標遍歷陣列
- C 語言 指標和陣列區別
- C 語言 指標陣列和陣列指標區別
- C 語言 空指標 NULL
- C 語言 void 指標
- C 語言 野指標
- C 語言 函式值傳遞和址傳遞
- C 語言 函式預設引數
- C 語言 函式不定長引數
- C 語言 函式指標
- C 語言 指標函式
- C 語言 回呼函式 callback
- C 語言 typedef
- C 語言 define 定義常量
- C 語言 define 防止頭檔案重復包含
- C 語言 #pragma once
- C 語言 #include <> 與 #include “” 區別
- C 語言 const 修飾變數
- C 語言 const 修飾指標
- C語言 const 修飾函式
- C 語言 const 修飾函式引數
- C 語言 const 和 define 區別
- C 語言 #運算子
未經允許不得轉載:猿說編程 ? C 語言 #運算子
本文由博客 - 猿說編程 猿說編程 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/299842.html
標籤:其他
