1.gets()函数 问:请找出下面代码里的问题:#include int main(void)char buff[10];memset(buff,0,...
unsigned char的取值范围为:0-255,而Max_CB最大为500,ucCmdNum无法达到。 一句代码实现x是否为2的若干次幂的判断 return x&(x-1)?0:1 下面的代码输出是什么,为什么? void foo(void) { unsigned int a = 6; int b = -20; (a+b> 6)? puts("> 6") : puts("<= 6"); } 标准答案:输出>6 ...
答:上面代码里的.问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。 3内存泄露 问:下面的代码会导致内存泄漏吗? #include void main(void) { char *ptr = (char*)malloc(10); if(NULL == ptr) { printf("...
c语言面试编程题 题目1:找出数组中出现次数最多的元素 题目描述: 给定一个整型数组,编写一个程序找到出现次数最多的元素,并返回该元素。 输入: 整型数组 输出: 出现次数最多的元素 示例: 输入:[1, 2, 3, 1, 2, 3, 4, 1, 2, 3] 输出:1 解题思路: 首先,我们可以使用一个哈希表来统计每个元素的...
问:下面的代码会导致内存泄漏吗? #includevoidmain(void){ char*ptr=(char*)malloc(10); if(NULL==ptr) { printf("\nMallocfailed\n"); return; } else { //Dosomeprocessing} return;} 答:尽管上面的代码并没有释放分配给“ptr”的内存,但并不会在程序退出后导致内存泄漏。在程序结束后,所有这个程序...
#p#12个有趣的C语言面试题 Part 2#e# 7.void*和C结构体 问:你能设计一个能接受任何类型的参数并返回interger(整数)结果的函数吗? 答:如下: int func(void *ptr) 如果这个函数的参数超过一个,那么这个函数应该由一个结构体来调用,这个结构体可以由需要传递参数来填充。 8.*和++操作 问:下面的操作会...
有意思的12道C面试题及答案 这篇文章涉及到的都是一些C语言的基础知识,是从一篇英文文章中部分翻译和加入我自己的认识!!! 1. gets()函数 Q:下面的代码中隐含着安全问题,能发现吗? 1#include<stdio.h>2intmain(void)3{4charbuff[10];5memset(buff,0,sizeof(buff));67gets(buff);89printf("\n The ...
12个有趣的C语言面试题 12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个! 1.gets()函数 问:请找出下面代码里的问题: #include<stdio.h>intmain(void) {charbuff[10]; memset(buff,0,sizeof(buff)); gets(buff);...
算法是一个程序和软件的灵魂,下面小编为大家整理了10个经典的C语言面试基础算法及代码,希望能帮到大家! 1、计算Fibonacci数列 Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。 C语言实现的代码如下: ...
10个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个! 1.gets()函数 问:请找出下面代码里的问题: #includeintmain(void) { charbuff[10];memset(buff,0,sizeof(buff)); gets(buff); printf(" Thebufferenteredis[%s] ...