18、下面的函数有什么问题:
int square(volatile int *ptr){
return *ptr * *ptr;
}
19、中断是嵌入式系统中重要的组成部分,这导致了许多编译开发商提供一种扩展:让标准C支持中断,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论以下这段代码。
__interrupt double compute_area(double radius)
{
double area = PI * radius *radius;
printf("nArea = %f", area);
return area;
}
20、请问下面程序有什么错误?
int a[60][250][1000],i,j,k;
for(k=0;k <=1000;k++)
for(j=0;j <250;j++)
for(i=0;i <60;i++)
a[i][j][k]=0;
21、设有以下说明和定义:
typedef union {
long i;
int k[5];
char c;
} DATA;
struct data {
int cat;
DATA cow;
double dog;
} too;
DATA max;
则语句 printf("%d",sizeof(struct data)+sizeof(max)); 的执行结果是:________
22、下面的一段C 程序中,循环体语句执行_________次退出循环。
int i = 100;
int sum;
do {
sum+=i;
}while(i--);
23、冒泡排序算法的时间复杂度是_________。
24、嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。(5分)
25、写一个高性能的函数把一个int乘以9。
26、请用C语言写出能将一个字符串逆序函数。
27、请编写一个C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。