C语言面试题总结
Posted 我是CodeAllen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言面试题总结相关的知识,希望对你有一定的参考价值。
1 预处理
问题1:什么是预编译?何时需要预编译?
答:
预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。
主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。.
何时需要预编译:
1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
问题2:写一个“标准”宏,这个宏输入两个参数并返回较小的一个
答:#define MIN(x, y) ((x)<(y)?(x):(y)) //注意结尾没有;
问题3:#与##的作用?
答:#是把宏参数转化为字符串的运算符,##是把两个宏参数连接的运算符。
例如:
#define STR(arg) #arg 则宏STR(hello)展开时为”hello”
#define NAME(y
以上是关于C语言面试题总结的主要内容,如果未能解决你的问题,请参考以下文章
金三银四 | 进军BATJ大厂必看的技术点/面试题总结Linux后台开发