一、判断题(对的写T,错的写F并说明原因)
1. 有数组定义int a[2][2]={{1},{2,3}}; 则a[0][1]的值为0。( )
2. int(*ptr)(),则ptr是一维数组的名字。( )
3. 指针在任何情况下都可以进行>,<.>=,<=,==运算。( )
4. switch(c)语句中c可以是int,long,char,float,unsigned int类型。( )
5. #define print(x) printf(“the no,” #x”,is”) ( )
二、填空题
1. 在Windows下,写出运行结果
char str[] = “Hello”;
char *p=str;
int n = 0;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100]){ }
sizeof(str)=( )
2. void setmemory(char **p, int num)
{
*p = (char*)malloc(num);
}
void test(void)
{
char *str = NULL;
setmemeory(&str, 100);
strcpy(str, "hello");
printf(str);
}
运行test函数有什么结果?
3. 设 int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
*(ptr++) += 123;
printf("%d,%d", *ptr,*(++ptr));
输出结果?
三、编程题