摘要:
看清以下数字排列的规律,设1点的坐标是(0,0),x方向向右为正,y方向向下为正。例如,7的坐标为(-1,-1),2的坐标为(0,1),3的坐标为(1,1)。编程实现输入任意一点坐标(x,y),输出所对应的数字。[芬兰著名软件公司2005年面试题] 解析:规律能看出来,问题就在于如何利用它。很明显这 阅读全文
摘要:
以下代码的输出结果是什么?[中国著名金融企业J银行2008年面试题] A.10,0,9,1B.10,10,9,0C.10,1,9,2D.9,10,8,0解析:for循环括号内被两个分号分为3部分:i=0是初始化变量;x>8是循环条件,也就是只要x>8就执行循环;那y=i++是什么?在第一次循环时执行 阅读全文
摘要:
递归是程序设计中的一种算法。一个过程或函数直接调用自己本身或通过其他的过程或函数调用语句间接地调用自己的过程或函数,称为递归过程或函数。递归是计算机语言中的一种很有用的工具,很多数学公式用到递归定义,例如N!:当n>0时,f(n)=n×f(n–1)。有些数据结构(如二叉树),其结构本身就有递归的性质 阅读全文
摘要:
(1)一个整型数(An integer)(2)一个指向整型数的指针(A pointer to an integer)(3)一个指向指针的指针,它指向的指针是指向一个整型数(A pointer to a pointer to aninteger)(4)一个有10个整型数的数组(An array of 阅读全文
摘要:
以下程序的输出是( )[美国某软件公司2009年12月面试题目] 解析:本题定义一个指针指向一个10个int元素的数组。a+1表明a指针向后移动1*sizeof(数组大小);a+1后共向后移动40个字节。*a+1仅针对这一行向后移动4个字节,如下图所示。 答案:输出如下:1 11 2 2 11 一个 阅读全文
摘要:
写出函数指针、函数返回指针、const指针、指向const的指针、指向const的const指针。答案: 找出下面程序的错误,并解释它为什么是错的。[中国台湾某著名杀毒软件公司2005年10月面试题] 解析:这道程序体存在着函数指针的错误使用问题。答案:正确的程序如下: 下面的数据声明都代表什么?[ 阅读全文
摘要:
下列程序会在哪一行崩溃?[美国著名软件企业M公司2007年11月面试题] 解析:int *p=&s.i;相当于int *p; p=&si;。当执行p[0]=4; p[1]=3;的时候,p始终等于&si。s.p=p相当于建立了如下关系:s.p存了p的值,也就是&s.i;s.p[1]相当于*(&s.i+ 阅读全文
摘要:
写出下面程序的运行结果。[美国著名硬盘公司S 2008年4月面试题] 解析:本题考的是指针与地址的关系问题。本程序结构如下:(1)先声明了一个整型数组a[3],然后分别给数组赋值。(2)又声明了两个整数指针p、q,但是并没有定义这两个指针所指向的地址。(3)使整数指针p的地址指向a(注意a就是a[0 阅读全文
摘要:
这个函数有什么问题?该如何修改?[美国著名硬盘公司S 2008年4月面试题] 解析:这个str里存的地址是函数strA栈帧里“hello word ”的首地址。函数调用完成,栈帧恢复到调用strA之前的状态,临时空间被重置,堆栈“回缩”,strA栈帧不再属于应该访问的范围。存于strA栈帧里的“he 阅读全文
摘要:
这个程序测试后会有什么结果?[美国某著名计算机嵌入式公司2005年9月面试题] 解析:毛病出在函数GetMemory中。void GetMemory(char *p, int num)中的*p实际上是主函数中str的一个副本,编译器总是要为函数的每个参数制作临时副本。在本例中,p申请了新的内存,只是 阅读全文