[主观题]

试题二(共15分)

阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。

(说明1)

设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof(x)用于计算为x分配的字节数。

(C代码)

#include <stdio.h>

#include <string.h>

int main()

{ int arr[5]={10,20,30};

char mystr[]="JustAtest/n";

char *ptr= mystr;

printf("%d%d%d/n", sizeof(int),sizeof(unsigned int),sizeof(arr));

printf("%d%d/n",sizeof(char),sizeof(mystr));

printf("%d%d%d/n",sizeof(ptr),sizeof(*ptr),strlen(ptr));

return 0;

}

(问题1)(8分)

请写出以上C代码的运行结果。

(说明2)

const是C语言的一个关键字,可以用来定义“只读”型变量。

(问题2)(4分)(1)请定义一个“只读”型的整型常量size,并将其值初始化为10;(2)请定义一个指向整型变量a的指针ptr,使得ptr的值不能修改,而ptr所指向的目标变量的值可以修改(即可以通过ptr间接修改整型变量a的值)。

注:无需给出整型变量a的定义。

(问题3)(3分)

某C程序文件中定义的函数f如下所示,请简要说明其中static的作用,以及形参表“const int arr[]”中const的作用。

static int f(const int arr[])

{

/*函数体内的语句省略*/

}

参考答案与解析: