指针的应用,结构体的应用.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指针的应用,结构体的应用

指针程序一: #includestdio.h void main() { int i; char *day_name(int n); printf(input Day No:\n); scanf(%d,i); if(i0) exit(1); printf(Day No:%2d--%s\n,i,day_name(i)); } char *day_name(int n){ static char *name[]={ Illegal day, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}; return((n1||n7) ? name[0] : name[n]); } 运行结果如下: 程序分析:本程序中定义了一个指针型函数 day_name,它的返回值指向一个字符串。该函数中定义了一个静态指针数组 name。name 数组初始化赋值为八个字符串,分别表示各个星期名及出错提示。形参 n 表示与星期名所对应的整数。在主函数中,把输入的整数 i 作为实参,在printf 语句中调用 day_name 函数并把 i 值传送给形参 n。day_name 函数中的 return 语句包含一个条件表达式,n 值若大于 7 或小于 1 则把 name[0]指针返回主函数输出出错提示字符串“Illegal day”。否则返回主函数输出对应的星期名。主函数中的第 7行是个条件语句,其语义是,如输入为负数(i0)则中止程序运行退出程序。exit 是一个库函数,exit(1)表示发生错误后退出程序,exit(0)表示正常退出。 本程序是通过指针函数,输入一个 1~7 之间的整数,输出对应的星期名。 指针程序二: #includestdio.h int max(int a,int b) { if(ab)return a; else return b; } void main() { int max(int a,int b); int(*pmax)(); int x,y,z; pmax=max; printf(input two numbers:\n); scanf(%d%d,x,y); z=(*pmax)(x,y); printf(maxmum=%d,z); } 运行结果: 程序分析:这个程序是用指针函数对两个数进行求最大值,运行中输入两个数,程序自动求出两个数中大者,并输出较大数的值。实际上,可以利用求最大值的函数对若干个数求最大值,可以将函数调用作为一个函数的参数,它的值又作为另一次调用的实参,如此进行很多次便可求出若干个数的最大值。 结构体程序: #includestdio.h #includestring.h void main() { struct student { long num; char name[20]; char sex; float score; }; struct student stu_1; struct student *p; p=stu_1; stu_1.num=89101; strcpy(stu_1.name,lilin); stu_1.sex=M; stu_1.score=89.5; printf(%ld\n%s\n%c\n%f\n,stu_1.num,stu_1.name,stu_1.sex,stu_1.score); printf(\n); printf(%ld\n%s\n%c\n%f\n,(*p).num,(*p).name,(*p).sex,(*p).score); } 运行结果: 程序分析: 在指向结构体变量的指针的学习中,对结构体变量的赋值方式可以有多种,可以利用先定义一种结构体类型,定义以后再定义结构体变量,在定义变量的同时即对结构体变量赋初值,另外可以先定义了结构体变量再对结构体变量各元素分别引用赋初值,这时要注意用成员运算符.符号。 开始调这个程序的时候,“strcpy(stu_1.name,lilin);”这个语句我用的是stu_1.name= lilin,后来发现出现错误。所以在对

您可能关注的文档

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档