13.10 编写出一个宏定义 MYALPHA(C) ,用以判断 C 是否是字母字符,若是得 1 ,否则得 0 。
※程序如下※
#include<stdio.h>
#include<ctype.h>
#define MYALPHA(C) isalpha(C)?1:0
main()
{
char ch;
clrscr();
ch=getchar();
if(MYALPHA(ch))
printf("%c is a alpha",ch);
else
printf("%c is not a alpha",ch);
}
——————————————————————————————————————
13.11 请写出一个宏定义 swap(t,x,y) 用以交换 t 类型的两个参数。提示:用复合语句的
形式。
※程序如下※
#include<stdio.h>
#define swap(t,x,y) {t=x;x=y;y=t;}
main()
{
int a,b,t;
clrscr();
printf("Enter a and b:\n");
scanf("%d%d",&a,&b);
swap(t,a,b);
printf("a=%d\nb=%d",a,b);
}
——————————————————————————————————————
13.12 请编写程序,利用 malloc 函数开辟动态存储单元,存放输入的三个整数。然后按
从小到大的顺序输出这三个数。
※程序如下※
#include <stdio.h>
#include <stdlib.h>
void main()
{
int *pData = (int*)malloc(sizeof(int)*3);
int t;
printf("Please input three integral number\n");
scanf("%d%d%d",pData,pData+1,pData+2);
for (int i=0; i<2; i++)
for (int j=i+1; j<3; j++)
if (*(pData+i) > *(pData+j))
{
t = *(pData+j);
*(pData+j) = *(pData+i);
*(pData+i) = t;
}
printf("%d\t%d\t%d\n",*pData,*(pData+1),*(pData+2));
}