【笔试题】WEEK06
来源:互联网 发布:hive sql union 编辑:程序博客网 时间:2024/06/05 14:52
作业一
分析程序typedef int (*FUNC1)(int);typedef int (*FUNC2)(int *, int *, int *);int inc(int a){return (++a);}int multi(int *a, int *b, int *c){return (*c=*a**b);}void show(FUNC2 fun, int arg1, int *arg2){FUNC1 p = inc;int temp = p(arg1);fun(&temp, &arg1, arg2);printf("%d\n", *arg2);}int a = 0; show(multi, 10, &a);主程序:分析如下:1.前两行定义两个指向函数指针,并用typedef改名为func1和func2,参数分别为一个int类型,和三个int指针类型2.下面定义了两个函数 一个是让参数自增1,另一个是让指针c指向的值等于aheb的值得乘积3.show函数是传递了一个函数指针和两个int类型指针,函数中中定义了一个int类型的变量通过func1调用inc函数来获取值 此题中temp的值为114.通过func2调用函数,使得arg2的值被赋值为temp和arg1的乘积5.执行过程为 temp 先被赋值为 11 arg1 为10 —----->arg2 = 10*11 = 110结果为110
作业二
#include <stdio.h>#include <string.h>#include <stdlib.h>/**3、编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefg”//pStr是指向以''结尾的字符串的指针//steps是要求移动的nvoid LoopMove ( char * pStr, int steps ){ //请填充...}*/void LoopMove(char*,int);int main(){ int n; scanf("%d",&n); LoopMove("abcdefghi",n); return 0;}void LoopMove(char *pstr,int steps) { int len = strlen(pstr); int i; for(i = len - steps;i <=len - 1;i++) { printf("%c",pstr[i]); } for(i = 0;i < len - steps;i ++) { printf("%c",pstr[i]); }}
作业三
#include <stdio.h>#include <stdlib.h>#include <string.h>/*2、阅读一下程序,找出错误并更改。PS:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”*/int main(){ char *src = "hello,world"; char *dest = NULL; int len = strlen(src); dest = (char*)malloc(len); char *s = &src[len - 1]; while(len--!=0) { dest = s--; printf("%c",*dest); } return 0;}
阅读全文
0 0
- 【笔试题】WEEK06
- 【Java作业】Week06
- 【Java笔记】---Week06 常用类、正则表达式与集合
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- spring boot & mybatis 集成 方法一
- bootstrap之navbar样式
- angularjs $http服务--XMLHTTPRequest && SQL
- adaptiveThreshold自适应二值化源码分析
- 采用SQLServer 发布,订阅方式实现数据库同步遇到问题总结
- 【笔试题】WEEK06
- 第2章 归并排序
- MySQL 索引初识
- redis应用场景
- 安卓AES加解密(兼容Android7.0)
- Android调用本地html找不到的原因
- Android系统广播(1)–动态注册流程
- GBDT:梯度提升决策树
- ff更改高级设置