2013-7-11学习作业[有面试题]

1.void GetMemory(char *p)

{

p = (char *)malloc(100);

}

void Test(void)

{

char *str = NULL;

GetMemory(str);  

strcpy(str, "hello world");

printf(str);

}

 

请问运行Test函数会有什么样的结果?

答:

这个是形参改变实参的问题:可以有两种方法解决

形参改变影响实参主要应用在以下两个方面:

1.用于外部函数要交换主函数中的两个值,可以用指针来实现,但通过指针来实现主函数中两个数的交换必须要知道,哪些类型属于值传递,哪些类型属于地址传递,对于值传递的那些类型(例如:整形、字符型)才有必要用指针来实现,因为数组,字符串属于地址传递类型,所以没必要在外部函数通过用指针来实现主函数中的两个数的交换。举例:

2.在开辟空间的时候使用二级指针来实现主函数中指针内存的开辟,不然如果不用二级指针的话就必须在外部开辟空间的函数有一个返回值类型,然后赋值给主函数中的指针,如果不通过这两种方法实现的话就可能引发内存问题,举例:

方法 一、通过在外部开辟空间的函数里有返回指针类型,然后赋值给主函数中的指针的方法,来实现主函数中指针空间的开辟

方法二、通过二级指针来实现对主函数中指针的赋值,所谓二级指针就是指向指针的地址

2.char *GetMemory(void)

{  

char p[] = "hello world";  //“hello world存储在静态区域,访问权限就局限在函数内部,生命周期随着函数的终止而终止”

//char *p="hello world"; //存储在静态去,生命周期随着程序的终止而结束,所以外部可以打印出这段“hello world”

return p;

}

void Test(void)

{

char *str = NULL;

str = GetMemory();   

printf(str);

}

 

请问运行Test函数会有什么样的结果?

答:

3.Void GetMemory2(char **p, int num)    //二重地址就是取指针的地址

{

*p = (char *)malloc(num);   //这里的*p也就是str,相当于str=(char *)malloc(num);其实已经向Test中str开辟空间了

}

void Test(void)

{

char *str = NULL;

GetMemory(&str, 100);

strcpy(str, "hello");  

printf(str);   

}

请问运行Test函数会有什么样的结果?

答:hello

4.void Test(void)

{

  char *str = (char *) malloc(100);

    strcpy(str, “hello”);

    free(str);     

    if(str != NULL)

    {

      strcpy(str, “world”);

      printf(str);

    }

}

请问运行Test函数会有什么样的结果?

答:world

5.用#define定义一个宏MAX,取得整形a和b中的比较大数的值

//

//  main.c

//  2013-5-11作业5

//

//  Created by 丁小未 on 13-7-11.

//  Copyright (c) 2013年 dingxiaowei. All rights reserved.

//

#include <stdio.h>

#define max(a,b) (a>b?:a,b)

//#define Max(a,b) a>b

int maxValue(int a,int b)

{

//方法一:

//    if (Max((a), (b))) {    //注意:非常有必要对a,b加上括号,正对那种Max(a*c,b)  这里有符号的优先级问题,如果比>要低,那么就会有问题

//        return a;

//    }

//    else

//        return b;

//方法二:

    return max((a),( b));

}

int main(int argc, const char * argv[])

{

    int maxNum=maxValue(10, 11);

    printf("%d",maxNum);

    return 0;

}

6.使用多个文件编译项目程序,文件a中定义用递归方法计算1+3+5。。。。97+99的函数int funA(int iNum),文件b中定义用指针方法排序如意从控制台输入的10个数字,函数为int *funB(int *pNum),文件mian.c调取文件a和b的函数,并输出结果


 

时间: 2024-12-30 09:03:51

2013-7-11学习作业[有面试题]的相关文章

天猫宣布启动2013双11狂欢购物节,线上线下打通

摘要: 今年双11,你可到实体店光明正大地抄货号!昨日,天猫宣布启动2013双11狂欢购物节,线上线下打通,消费者可到3万家参加双11活动的实体店试穿试戴和抄货号,售货员不仅不会给你白 今年双11,你可到实体店光明正大地抄货号!昨日,天猫宣布启动2013双11狂欢购物节,线上线下打通,消费者可到3万家参加双11活动的实体店试穿试戴和抄货号,售货员不仅不会给你白眼,还会额外赠送一张网购优惠券,让你享受双重优惠."这样一来就可以享受到五折甚至更低的价格." 对此,京东. 腾讯 电商等电商则

2013年11月初三星占Android设备出货量63%

2013年11月9日,市场研究公司Localytics表示,目前三星占到全部Android设备出货量的63%,其中包括智能手机.平板手机和平板电脑.HTC.LG.索尼.摩托罗拉和其他厂商的市场份额之和不足37%.HTC和LG分列第二.三位.三星的优势来自旗下智能手机产品深 受用户青睐.在十款用户最多的Android智能手机中,八款出自三星之手.Galaxy S系列不仅是三星最畅销的智能手机,也是最畅销Android手机的前三甲.在销量最大的十款Android手机中,非三星系只有HTC One和摩

2013-7-18学习作业[有常考面试题]

作业1.C++文件流的应用 如果令A,B,C,D,--,X,Y,Z这26个英文字母,分别等于百分之1,2,--,24,25,26个数值,那么我们就能得出如下有趣的结论: HARD WORD  8+1+18+4+23+15+18+11=98% KNOWLEDGE    96% LOVE  54%          LUCK  47% 计算一下MONEY  STUDY   ATTITUDE // //  main.cpp //  2013-7-18作业1 // //  Created by 丁小未 

2013-7-17学习作业练习

题目1: // //  main.cpp //  2013-7-17作业1 // //  Created by 丁小未 on 13-7-17. //  Copyright (c) 2013年 dingxiaowei. All rights reserved. // //1.有这样一个学生系统,用于学校存储学生信息,当有新生的时候存储新生信息,有学生毕业的时候删除学生信息,还可以修改学生信息,比如学生突然更改了姓名或者学生换了专业.学生信息至少要有姓名,学号,年龄,性别,专业,手机号码. //条件

IDC评述网:2013年11月份中国域名服务商Top25

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 IDC评述网(idcps.com)12月05日报道:年末将至,国内各域名服务商也骚动起来,纷纷打起了优惠战,抢占市场.根据WebHosting.info数据,11月份,在国内域名服务商市场上,DNSPOD继续稳居榜首,然而份额环比上月下滑0.55%,至21.6989%.排名随后的是中国万网,份额亦呈现下滑,小降0.09%,至19.7911%.

IDC评述网:2013年11月份全球域名服务商Top25

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 IDC评述网(idcps.com)12月06日报道:根据WebHosting.info数据显示,11月份,全球域名服务商市场基本保持稳定.与10月份相比,国内仍旧仅有两名域名服务商上榜全球前25强榜单.其中,新网名次下滑一名,排名第16,中国万网位居第22名.两者全球市场份额均小有增长. 如图表数据所示,在全球域名最大服务商Top25中,美国

关于Office 2013的11件事

以下是关于最新版本office不得不知的事. 新版本的名字? 半正式的名字是新的微软Office(有点类似于新的iPad),目前我们为了简洁,仍称之为Office2013.其次还有Office365,这是一种订阅服务,可以提供最新版本的微软Office软件. 目前有多少不同的版本? Office2013将会为家用和商业用户提供不同的版本,但是整体的价格还未公布.Office365的订阅云服务将包括以下几个方面:家庭高级版本(20GB的SkyDrive存储和60分钟的Skype世界通话),小型商业

【SQL 学习】一个面试题

今天面试的时候,问了一个sql编写的题目, 求每门成绩的最高分数的id 以及科目,分数.(当时没有写好,郁闷了,面试官还是很好的,给我讲解了一下!)回到宿舍自己有写了一下,两个方法: SQL> create table test (id int ,subject varchar2(20), score int); 表已创建. SQL> insert into test values(1 ,'math',95); 已创建 1 行. SQL> insert into test values(

2013年11月GODADDY域名INFO续费优惠码

这次寻找了好多优惠码试用,最终最低的是合人民币56左右的价格. 我使用了以下两个都可以,都是¥56:  代码如下 复制代码 GDBB776 另一个忘记了,都是一样的效果. 备注: 付款的时候发现选择支付宝之后,系统提示不支持此付款方式,于是摸索了半天才发现,个人信息里面有一项没有填,全部都填上之后再使用支付宝付款,一切正常了.