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]