12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(5) 前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262.html A,局部变量的返回地址 Q:下面的代码有问题吗?如果有,如何修改? ? #include<stdio.h>   int* inc(int val) {   int a = val;   a++;   return &a; }   int main(void) {     int …
12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(3) 前文链接:http://www.cnblogs.com/pmer/p/3322429.html 5,atexit with _exit Q:在以下代码,atexit()方法并没有被调用,你知道为什么吗? ? #include<stdio.h>   void func(void) {     printf("\n Cleanup function called \n");     return;…
C语言面试问答——<12个有趣的C语言问答>评析(4) 前文链接:http://www.cnblogs.com/pmer/p/3324063.html 8,Making changes in Code segment Q:以下代码运行时一定会崩溃,你能说出原因吗? ? #include<stdio.h>   int main(void) {     char *ptr = "Linux";     *ptr = 'T';       printf("\…
<12个有趣的C语言问答>评析(2) 前文链接:http://www.cnblogs.com/pmer/p/3313913.html (没存盘,遭遇过热保护.至少4个问答的评论白写了.默哀一下) 2,main() 方法的返回类型 Q:请问下面这段代码能否通过编译?如果能的话,那么这段代码中隐含什么问题吗? ? #include<stdio.h>   void main(void) {     char *ptr = (char*)malloc(10);       if(NULL…
本文参照博文<12个有趣的C语言问答>,在原文的基础上增加来对应的知识点的详细介绍. 1 gets()方法 Q:下面的代码有一个被隐藏的问题,你能找到它吗? #include <stdio.h> int main(void) { ]; memset(buff, , sizeof(buff)); gets(buff); printf("%s\n", buff); ; } A:这个不显眼的问题就是使用了gets()方法,其函数原型如下: char* gets(cha…
一.预处理 1.什么是预编译?何时需要预编译? (1)预编译又称预处理,是做些代码文本的替换工作,即程序执行前的一些预处理工作.主要处理#开头的指令,如拷贝#include包含的文件代码.替换#define定义的宏.条件编译#if等. (2)何时需要预编译: a.总是使用不经常改动的大型代码体: b.程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项.在这种情况下,可以将所有包含文件预编译为一个预编译头. 2.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 #define…
1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作.主要处理#开头的指令.如拷贝#include包含的文件代码.替换#define定义的宏.条件编译#if等.. 何时需要预编译: 1.总是使用不经常改动的大型代码体. 2.程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项.在这种情况下,可以将所有包含文件预编译为一个预编译头. 问题2:写一个"标准"宏,这个宏输入两个参数并返回较小的一个…
c语言面试宝典(经典,超详细) 2018年08月25日 09:32:19 chengxuyuan997 阅读数:7799   摘自:https://blog.csdn.net/chengxuyuan997/article/details/82048231  这几天有朋友反映给小编说让多发点关于面试的文章,小编深知从事IT行业的难处,跳槽多,加班多,薪资不乐观,大多数朋友都想找新的工作,进入一个好的公司,今天小编就给大家带来了C语言面试宝典,希望能帮到大家. 第一部分:基本概念及其它问答题 1.关…
10个经典的C语言面试基础算法及代码作者:码农网 – 小峰 原文地址:http://www.codeceo.com/article/10-c-interview-algorithm.html 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手.本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列.简易计算器.回文检查.质数检查等算法.也许他们能在你的毕业设计或者面试中派上用场. 1.计算Fibona…
1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出.这里推荐使用标准函数…