一、实验目的
通过实验,了解掌握指针的间接访问特点,及相关处理的算法设计。
二、实验内容
1、题目:字符串的递归打印
实验分析及提示:
程序1是一个字符串反向的递归函数,请将该函数填写完整,回答下列问题。
程序1:
revstr ( char * s )
{ char *p = s, c;
while (【1】 )
p++;
【2】;
if ( s < p )
{ c = *s;
【3】;
【4】 = ’\0’;
revstr(s+1);
【5】;
}
}
2、题目:指针数组的应用。
程序2定义了一个指针数组并设定了初值,请分析该程序,回答问题。
程序2:
char *str[5]={“AAA”,”BBB”,”CCC”,”DDD”,”EEE”};
str[2]的值是___________________________(若不存在,请填写不存在)
*str[2]的值是_________________________(若不存在,请填写不存在)
*(str[2]的值是___________________________(若不存在,请填写不存在)
str[2][0]的值是_________________________(若不存在,请填写不存在)
2、题目:指针数组的应用。
程序3:已知一个数组指针去访问数组的元素,请填写相关内容;
int (*ptr)[]={{1,2,3},{,4,5,6},{,7,8,9}};
【语句】;
printf(”%d”,【变量】);
三、实验方法
1、针对程序1画出流程图(可不交);
2、按照流程图和输出要求,将程序补充完整,观察输出结果,并按照表格要求进行结果记录。
四、实验报告
1、回答问题。
根据程序1,请回答问题:
1.1这个函数的形式参数是________________数据类型是______________,实际调用时实际的调用参数是________________,数据类型是_________________,实际调用参数与形式参数的类型一致吗?
1.2 程序只是一个片段,请你写出完整的主程序。
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
根据程序2,请回答问题:
str[2]的值是___________________________(若不存在,请填写不存在)
*str[2]的值是_________________________(若不存在,请填写不存在)
*(str[2]的值是___________________________(若不存在,请填写不存在)
str[2][0]的值是_________________________(若不存在,请填写不存在)
2、将程序1的空缺语句填写完整。
序号 | 语句 |
【1】 | |
【2】 | |
【3】 | |
【4】 | |
【5】 |
3、根据程序3,请根据需要填写以下内容:
执行【语句】后 | 变量 | 输出 |
4 | ||
5 | ||
6 | ||
7 | ||
3 | ||
2 | ||
9 |