PHP面试题库
-
内联函数和宏的差别
问:内联函数和宏的差别是什么? 答: 宏是在代码处不加任何验证的简单替换; 而内联函数是将代码插入到调用处,会做参数类型检查。
-
以下定义sizeof(test)的值是多少?
问:已有如下定义,请问sizeof(test)的值是多少?
123456pragma pack(4)struct test{char m 1;double m2;int m3;}答案:16
-
打印源文件名和当前行号?
问题:如何打印当前源文件的文件名与当期行号? 答:
12cont<<__FILE__;cont<<__LINE__;__FILE__和__LINE__是系统预定义宏。
-
const与#define相比较优缺点
问题:const与#define相比,有什么优点? 答: 1)const常亮有数据类型,而宏常亮没有数据类型。编译器可以对前者机型类型安全检查而对后者没有类型安全检查,在字符替换时…
-
编译器进行内存对齐的原因
问题:请描述编译器进行内存对齐的原因? 答案: 为了提高程序的运行性能。因为访问未对齐到内存时,处理器需要做两次内存访问,而对齐的内存只需要一次访问。
-
头文件中#ifndef、#define、#endif的作用
问题:头文件中#ifndef、#define、#endif有什么用? 答案: 防止头文件被重复引用。
-
预处理指令#include “file.h”和#include
区别 问题:预处理指令#include “file.h”和#include有什么区别? 答案: 区别在于编译器查找文件的位置不同。 后者使用的是尖括号,编译器将到…
-
定义数据类型的方式哪一种更好
问题:以下两种定义数据类型的方式,哪种更好?
1define DPS struct s*;1typedef struct s * TPS;答…
-
两个宏返回参数最小
问:写一个宏MIN,这个宏输入两个参数并且返回较小的那个 答:
123<?phpdefine MIN(A,B)((A) <= (B))?(A):(B))?> -
求程序运行结果
问:求以下程序的运行结果:
12345678910<?phpdefine SQR(x)(x*x)int main(){int a,b=3;a = AQR(b+2);printf("\n%d",a);return 0;}?>答案:11