Void func(char* in)
{
Uint8 len2 = sizeof(in);
Printf(“len2 = %u\r\n”,len2);
}
Main()
{
Char a[10]={1,2,3,4,5,6,7,8,9,10};
Uint8 len1 = sizeof(a);
Printf(“len1 = %u\r\n”, len1);
Func(a);
}
请写出 len1 与 len2 的值。
答:len1= ;len2= ;
int* Fun(void)
{
static int a;
int b;
int* c = malloc(sizeof(int)) ;
return &b;
}
问题1:上面函数中 a,b,*c变量所占用的内存空间位于哪里?
问题2:本函数是否存在风险。若有,请简要说明。
提升以下乘、除、余运算的效率,在右侧写出优化后运算方式:
(1)a=b*2 =》
(2)a=b/4 =》
(3)a=b%8 =》
(4)a=b/8*8+b%4 =》
(5)a=b*15 =》