C语言中,下列程序执行后的输入结果是______
#define MA(x) x*(x-1)
main(){
int a=1,b=2;
printf(“%d\n”,MA(1+a+b));
}
请在画有横线的地方填定合适的内容
从一维数组A[n]中二分查找关键字为K的元素的递归算法,若查找成功则返回对应元素的下标,否则返回-1。
int Binsch(ElemType A[], int low, int high, KeyType K)
{
if(low<=high)
{
int mid = (low+hight)/2;
if(K==A[mid].key) ________________;
else if(K<A[mid].key)______________;
else_____________________________;
}
else return -1;
}
见以下程序,当输入为ACTION_A:时,ulResult=____; 当输入为ACTION_B时,ulResult=____;当输入ACTION_C时,ulResult=______;
unsigned long FUNC_C(unsigned long ulAction)
{
unsigned long ulResult = 0;
switch(ulAction)
{
case ACTION_A:
{
ulRestul+=1;
break;
}
case ACTION_B:
{
ulResult +=1;
}
default:
{
ulResult +=1;
}
}
printf(“ulResult=%u”,ulResult);
return ulResult;
}
有如下宏定义和结构定义
#define MAX_ENV_ALARM_RECORD_SUM 2+3
struct _Env_Alarm_Record_Struct
{
unsigned char Env_Alarm_ID :4;
unsigned char Paral :2;
unsigned char state;
unsigned char avail :1;
}*Env_Alarm_Record;
pointer=(struct _Env_Alarm_Record_Struct * )malloc(sizeof(struct _Env_Alarm_Record_Struct)*MAX_ENV_ALARM_RECORD_SUM);
问:pointer分配____个字节的空间。注意:机器是按照字节对齐。
以下程序的输出的结果是______。
#define FORMAT “INT=%%%du\nHEX=0x%%%dX\n”
void main(void)
{
char buf[50];
unsigned char a =255;
sprintf(buf,FORMAT,1,1);
printf(buf,a,a);
return ;
}
在深度为7的满二叉树中,度为2的结点个数为____;
设有一个空栈,栈顶指针为100H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH后,输出序列是(),栈顶指针是()。
硬件中断的触发方式一般分为_______两种方式。
32位系统中
int *p = (int*)100;
p+=1;
printf(“p=%d\n”,(int)p);
请问打印结果是_____。
栈是_______的线性表。