具体请看如下代码,通过对比代码和运行结果图更加容易理解。
//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;
}