现在的位置: 首页 > 综合 > 正文

2009艺龙笔试

2017年12月19日 ⁄ 综合 ⁄ 共 747字 ⁄ 字号 评论关闭

1、在windows NT下,程序运行结果为?

#include <iostream>
using namespace std;
int main()
{
    char a[100];
    cout<<func(a)<<endl;    //4,因为a是指针
    cout<<sizeof(char[100])<<endl;   //100,char是1字节。
    void *p=malloc(100);
    cout<<sizeof(p)<<endl;   //4
    return 0;
}

解析:windows NT(new technology的缩写)是纯32位操作系统。malloc(100)的含义是分配100个字节的内存。

2、C语言中全局变量和局部变量是否可以重名?

答:可以重名。它们的作用域不同,被储存的内存单元也不同。如果函数内的局部变量和函数外的全局变量相同,则函数内的局部变量有效。

4、程序运行结果为:

#include <iostream>
using namespace std;
int main()
{
   int a,b,c,d;
   a=10;
   b=a++;
   c=++a;
   d=10*a++;//++的优先级高于*
   printf("%d,%d,%d",b,c,d);   //10,12,120
}

5、用两个栈实现队列的功能。要求写出算法和思路。

6、用a表示以下类型:

(5)一个有10个指针的数组,该指针指向整型。

 答: int* a[10]

 (6)一个指向有10个整型数数组的指针。

答: int (*a)[4],元素表示为(*a)[i]

(7)一个指向函数的指针,该函数有一个整型数参数且返回值为整型数。

答:int (*p) (int)

(8)一个有10个指针的数组,该指针指向一个函数,函数与(7)相同。

答: int (*p) (int)  a[10]

抱歉!评论已关闭.