参考答案:
【问题1】
Sum=6
【问题2】
1)static的作用:是将变量修饰成静态变量,静态变量的存储地址在整个程序的运行执行期间均保留,不会被别的变量占据。
2)const的作用:是用于冻结一个变量,使其值在程序中不能被进一步改变。
3)不安全,有缺陷。
4)应对形参的有效性进行检查,应判形参dest、src指针是否为空,形参n是否大于0,还应保证dest所指向的内存空间不越界。
【问题3】
(1)ptr1=ptr1->next
(2)ptr2=ptr2->next
(3)ptr2
(4)temp2->next = tempi
(5)temp3
详细解析:
本题考查嵌入式C语言编程基础知识。
static在C语言中主要是两种用法:
1、修饰局部变量
2、修饰函数和全局变量
static修饰局部变量时该变量是存放在静态存储区,生命周期是整个程序结束。static局部变量初次定义时就要初始化,且只能初始化一次。如果在定义的时候不初始化,编译器就会自动赋值为0;当static修饰全局变量或者函数时,不是为了限制其存储方式,而主要是为了限制该全局变量或者函数的作用域仅限于本文件,所以又称为内部函数。此时,对于外部(全局)变量,不论是否有static限制,它的存储区域都是在静态存储区,生存期都是全局的。此时的static只是起作用域限制作用,限定作用域在本模块(文)内部。
关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,const修饰符有以下的优点:1、预编译指令只是对值进行简单的替换,不能进行类型检查;
2、可以保护被修饰的东西,防止意外修改,增强程序的健壮性;
3、编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。