首页 / C语言 / C语言实例解析精粹学习笔记——32
C语言实例解析精粹学习笔记——32
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C语言实例解析精粹学习笔记——32,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1842字,纯文字阅读大概需要3分钟。
内容图文
![C语言实例解析精粹学习笔记——32](/upload/InfoBanner/zyjiaocheng/1228/55c5d68978fa4280a837d755e824f84e.jpg)
实例32:
编制一个包含姓名、地址、邮编和电话的通讯录输入和输出函数。
思路解析:
1、用结构体来完成姓名、地址、邮编和电话的组合。
2、结构体指针的使用。
3、malloc的使用
4、scanf函数的返回值是正确输入的变量个数
程序代码如下:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5#define ZIPLEN 10 6#define PHONLEN 15 7 8struct stu 9{ 10char *name; //姓名11char *address; //地址12char zip[ZIPLEN]; //邮政编码13char phone[PHONLEN]; //电话号码14}; 1516int readstu(struct stu *dpt); /* 函数readstu用于输入一个通信录函数 */17int writestu(struct stu *dpt); /* 函数writestu用于输出通讯录 */1819int main() 20{ 21struct stu p[2]; /*示例用,只有两个元素的数组*/22int i,j; 23for(i=0; i<2;i++)readstu(p+i); 24for(j=0; j<i; j++) 25 writestu(p+j); 26 puts("\n Press any key to quit..."); 27return0; 28} 2930int readstu(struct stu *dpt) 31{ 32int len; 33char buf[120]; 3435 printf("\nPlease input the Name:\n"); 36if(scanf("%s",buf) == 1) 37 { 38 len = strlen(buf); 39 dpt->name = (char *)malloc(len+1); 40 strcpy(dpt->name,buf); 41 } 42else43return0; 44 printf("Please input the Address:\n"); 45if(scanf("%s",buf) == 1) 46 { 47 len = strlen(buf); 48 dpt->address = (char *)malloc(len+1); 49 strcpy(dpt->address, buf); 50 } 51else52 { 53free(dpt->name); 54return0; 55 } 56 printf("Please input the Zip code:\n"); 57if(scanf("%s",buf) == 1) 58 strncpy(dpt->zip,buf,ZIPLEN-1); 59else60 { 61free(dpt->name); 62free(dpt->address); 63return0; 64 } 65 printf("Please input the Phone number:\n");/*输入电话号码*/66if(scanf("%s",buf)==1) 67 strncpy(dpt->phone,buf,PHONLEN-1); 68else69 { 70free(dpt->name); 71free(dpt->address); 72return0;/*Ctrl+Z结束输入*/73 } 74return1; 75} 7677int writestu(struct stu *dpt) 78{ 79 printf("Name : %s\n", dpt->name); 80 printf("Address : %s\n", dpt->address); 81 printf("Zip : %s\n", dpt->zip); 82 printf("Phone : %s\n\n",dpt->phone); 83 }
原文:https://www.cnblogs.com/llccbb1/p/9745261.html
内容总结
以上是互联网集市为您收集整理的C语言实例解析精粹学习笔记——32全部内容,希望文章能够帮你解决C语言实例解析精粹学习笔记——32所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。