關於C99可變引數巨集的例項程式碼講解
具體請看如下程式碼,通過對比程式碼和執行結果圖更加容易理解。
//This is a comment
//Author:King
//Time:2020/12/17
//Reference:C Programming:A Modern Approach,Second Edition
/***************************************************************
2.5小節程式碼 計算一個箱子空間重量的程式 ,由使用者輸入變數的引數值
輸入引數限定為數值
****************************************************************/
#include <stdio.h>
//C99支援可變引數巨集,如下巨集定義中printf()中的fmt是嵌入在一段字串中,
//然後##arg表示如果arg這個可變引數被忽略或為空,將使前處理器去除掉它前面的那個逗號,
//這樣就符合語法規則了。
#define VOLUME(fmt,arg...) printf("<<-VOLUME->> "fmt"\n",##arg)
#define DIMENSION(fmt,arg...) printf("<<-DIMENSION->> "fmt"\n",##arg)
int main(void)
{
int height,length,width,volume,weight;
printf("Enter height of box:");
scanf("%d",&height);
printf("Enter length of box:");
scanf("%d",&length);
printf("Enter width of box:");
scanf("%d",&width);
volume = height * length * width;
weight = (volume +165) / 166; //航空公司一種空間轉換為重量的演算法,用於計算價格
printf("\n\n");
printf("Volume (cubic inches):%d\n",volume);
printf("Dimensions weight (pounds):%d\n",weight);
printf("\n\n");
VOLUME("Volume (cubic inches):%d",volume);
DIMENSION("Dimensions weight (pounds):%d",weight);
system("pause");
return 0;
}
相關文章
- 可變引數例項
- CSS 隔行變色程式碼例項CSS
- C語言實現可變引數列表的system介面:巨集__VA_ARGS__C語言
- C語言可變引數詳解C語言
- Python - 物件導向程式設計 - 類變數、例項變數/類屬性、例項屬性Python物件程式設計變數
- 健壯的例項變數 (Non Fragile ivars)和脆弱的例項變數(Fragile ivars)變數
- 【Java】可變引數Java
- JavaScript取餘數程式碼例項JavaScript
- Java - 可變引數的使用Java
- python疑問5:位置引數,預設引數,可變引數,關鍵字引數,命名關鍵字引數區別Python
- 一文弄懂 CORS 跨域(前端+後端程式碼例項講解)CORS跨域前端後端
- go-可變引數Go
- JavaScript倒數計時程式碼例項JavaScript
- Java的方法可變長引數Java
- 2.7.6.1 關於改變初始化引數的值
- CSS3背景漸變效果程式碼例項CSSS3
- 從例項程式碼講解Node.js Event loop執行機制(1.0.1)Node.jsOOP
- java 之泛型與可變引數詳解Java泛型
- SQL觸發器例項講解SQL觸發器
- C#out引數的簡單例項C#單例
- 如何讀懂火焰圖?+ 例項講解程式效能優化優化
- LOG巨集的引數問題
- 關於單例及靜態變數測試單例變數
- 可變引數va_list
- c++可變模板引數C++
- Java方法05:可變引數Java
- 【重學Java】可變引數Java
- Java 的可變引數與 Collections 類Java
- 關於Jmeter引數化的編碼問題JMeter
- Python函式的位置引數、關鍵字引數精講Python函式
- PHP 函式可變數量的引數列表PHP函式變數
- C#中的虛方法(virtual)例項講解C#
- Python裝飾器例項講解(三)Python
- 防抖和節流(例項講解)
- Unity射擊例項講解—主角建立Unity
- Spring程式設計式和宣告式事務例項講解Spring程式設計
- Flask-sqlalchemy中 backref lazy的引數例項解釋和選擇FlaskSQL
- 關於公司程式碼許可權的問題