c语言程序设计第四次,c语言程序设计第四次(2.8)实验报告.pdf

C 语言程序设计 实验报告

专业 班级 日期 11 月 26 日 成绩

实验组别 第 3(2.7) 次实验 指导教师 李开

学生姓名 学号 同组人姓名

实验名称 实验 8 指针实验

一、实验目的

(1)熟练掌握指针的说明、赋值、使用。

(2 )掌握用指针引用数组的元素,熟悉指向数组的指针的使用。

(3)熟练掌握字符数组与字符串的使用,掌握指针数组及字符指针数组的用法。

(4 )掌握指针函数与函数指针的用法。

(5)掌握带有参数的 main 函数的用法。

二、实验任务

8.2 实验内容及要求

1.源程序改错

2.源程序完善、修改、替换

3.跟踪调试

4.程序设计

5.选做题

8.3 指定 main 函数的 参数

三、实验步骤及结果

(要求给出源程序和程序运行结果。另外,根据实验内容,记录编辑、编译、链接、调试程

序的操作过程和实验现象)

8.2 实验内容及要求

1.源程序改错

下面程序是否存在错误?如果存在, 原因是什么?如果存在错误, 要求在计算机上对这

个例子程序进行调试修改,使之能够正确执行。

#include

void main(void)

{

float *p;

scanf("%f",p);

printf("%f\n",*p);

}

存在,错误为指针一开始没有初始化,而 sacnf 传入的是 float 型指针指向的地址,我们

并不知道系统能给我们分配什么地址,所以说我们输入的地址很有可能使程序崩溃。

修改后代码:

#include

int main(void)

{

float *p;

float a[10];// 这里可以换成其他数字

p=&a[0];

scanf("%f",p);

printf("%f\n",*p);

return 0;

}

2.源程序完善、修改、替换

(1)下面的程序通过函数指针和菜单选择来调用字符串拷贝函数或字符串连接函数,请在

下划线处填写合适的表达式、语句、或代码片段来完善该程序。

#include

#include

void main(void)

{

char*(*p)(char a[],char b[]);

char a[80],b[80],c[160],*result=c;

int choice,i;

do{

printf("\t\t1 copy string.\n");

printf("\t\t2 connect string.\n");

printf("\t\t3 exit.\n");

printf("\t\tinput a number (1-3) please!\n");

scanf("%d",&choice);

}while(choice<1 || choice>5);

switch(choice){

case 1:

p=strcpy;

break;

case 2:

p=strcat;

break;

case 3:

goto down;

}

getchar();

printf("input the first string please!\n");

i=0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值