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]