Day11(下).期中考试题答案
来源:互联网 发布:罗技游戏鼠标mac设置 编辑:程序博客网 时间:2024/04/28 12:17
1.先看第一个函数体如何实现,没什么好说的了,直接show you the codes
#define _CRT_SECURE_NO_WARNINGS#include "stdlib.h"#include "stdio.h"#include "string.h"int GetString(const char *str1/*in*/, char *str2/*in*/);int GetString_Adv(const char *str1/*in*/, char **str2/*out*/);int GetString_Adv_Free1(char *str2);int GetString_Adv_Free2(char **str2);int GetString(const char *str1/*in*/, char *str2/*in*/){ char *p1 = NULL, *p2 = NULL; int len = 0,i =0; if (str1 == NULL || str2 == NULL) { return -1; } len = strlen(str1); if (len <1) { return -1; } strcpy(str2, str1); p1 = str2 + 1; p2 = str2; for (i = 0; i < len; i++) { if (isalpha(*p1) && isspace(*p2)) { *p1 -= 32; } p1++; p2++; } return 0;}int GetString_Adv(const char *str1/*in*/, char **str2/*out*/){ char *p1 = NULL, *p2 = NULL; int len = 0, i = 0; char *tmp = NULL; if (str1 == NULL || str2 == NULL) { return -1; } len = strlen(str1); tmp = (char *)malloc((len + 1)*sizeof(char)); if (tmp == NULL) { return -2; } if (len <1) { return -1; } strcpy(tmp, str1); //准备循环环境 p1 = tmp + 1; p2 = tmp; for (i = 0; i < len; i++) { if (isalpha(*p1) && isspace(*p2)) { *p1 -= 32; } p1++; p2++; } //赋值 *str2 = tmp; return 0;}int GetString_Adv_Free1(char *str2){ if (str2 != NULL) { free(str2); }}int GetString_Adv_Free2(char **str2){ char *tmp = NULL; tmp = *str2; if (str2 = NULL) { return 0; } if (tmp != NULL) { free(tmp); }}void main(){ int ret = 0; char *p1 = " i am student, you are teacher "; char str1[1024*10] = { 0 }; ret = GetString(p1, str1); if (ret != 0) { return; } printf("%s", str1); int ret1 = 0; char *p2 = " i am student, you are teacher "; char *str2 = NULL; ret1 = GetString_Adv(p2, &str2); printf("%s", str2); GetString_Adv_Free2(&str2); //放在GetString_Adv_Free2里面进行*str2= NULL会出错,为什么呢? str2 = NULL; system("pause");}
2.参考Day6的内容吧。。。。。。。
3.
4.
0 0
- Day11(下).期中考试题答案
- 下个星期四中考
- 中考
- day11
- DAY11
- day11
- day11
- day11
- day11
- Day11
- day11
- day11
- day11
- day11
- day11
- Day11
- day11
- Day11
- 服务器运维与网站架构|Linux运维|X研究
- UITableView实现Cell的滑动删除
- 1GB免费空间(免备案,无广告)
- git 的学习操作笔记 git教程 伪教程
- PHP找出一堆词中以某个字开头的所有词
- Day11(下).期中考试题答案
- Mahout学习路线图
- 局域网查看工具LanSee使用教程【图文】
- Filter及FilterChain的使用详解
- bean之间的复制!BeanUtils.copyProperties、set、BeanCopier还有spring中的BeanUtils.copyProperties之间的区别
- StringTokenizer类的使用
- 推荐系统-粉丝日志
- CentOS7 安装lua环境
- Filter及FilterChain的使用详解