C面试题(整理,更新中...)
1.用预处理指令#define声明一个常数,表明1年有多少秒(闰年忽略)
#define SECONDS_PER_YEAR (60*60*24*365)UL
2.写一个“标准”宏 MIN,输入两个参数并返回较小的一个
#define MIN(A,B) ( ( (A)<=(B) )?(A):(B) )
3.预处理标识#error的目的是什么?
停止编译并显示出错信息
4.用C语言编写一个死循环 ?
while(1)
{
}
5. 用变量a给出下面的定义
a) 一个整型数(An integer)---- int a;
b) 一个指向整型数的指针(A pointer to an integer-----int *a;
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer
to an integer)-------int **a;
d) 一个有10个整型数的数组(An array of 10 integers)----int a[10];
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to
integers)------------int *a[10];
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)---int (*a)[10]
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a fu
nction that takes an integer as an argument and returns an integer)------int (*a)(int)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型
数( An array of ten pointers to functions that take an integer argument and r
eturn an integer )--------int (*a[10])(int)
6.关键字static的作用是什么?
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。(静态局部变量?)
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。(静态外部全局变量?)
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。(静态外部函数?)
还有一个解释:
1.修释局部变量时,表示它为静态局部变量,生命周期同程序运行时间一样,只能被初始化一次
2.用于全局变量时,表示静态全局变量,变量可见范围在本文件中可见,其它不可见
3.用于函数内时,变量可见范围为函数内,其它不可见(觉得包括在第一个中)
总结:限制了变量的作用域
 
相关文档:
int main()
{
printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60);
}
gcc -S编译成汇编代码如下:
.file "test.c"
.section .rodata
.LC0:
&nbs ......
在c++调用c程序时,回调函数是不能直接使用的,以c++调用c的Gtk函数为例, 比如,在g_idle_add (init, NULL);
这句话中,一旦idle就会调用函数init(), 这个init()还会对类的成员变量进行处理。
这时,假如把init()简单地定义为类的普通成员函数就会出现类型不匹配的错误,因为g_idle_add ......
string info ="客户端IP:"+ Page.Request.UserHostAddress;
info += "<br/>用户信息:" + Page.User;
info += "<br/>服务器电脑名称:" + Page.Server.MachineName;
info += "<br/>当前用户电脑名称:" + System.Net.Dns.GetHostName();
info += "<br/>当前电脑名:" + System.Environment.Ma ......
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
& ......
头文件regex.h中定义了c/c++使用正则表达式的函数: regcomp(), regexec(), regerror(), and regfree() 。regcomp()编译正则表达式,regexec()匹配正则表达式, regfree()释放正则表达式,regerror()报告正则表达式错误信息。使用方法如下代码所示:
static string merge_path(const string bas ......