c语言面试题

以下是为您整理出来关于【c语言面试题】合集内容,如果觉得还不错,请帮忙转发推荐。

【c语言面试题】技术教程文章

12个有趣的C语言面试题及答案【代码】

12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:#include<stdio.h> 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接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐...

嵌入式开发C语言面试题总结

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。 3). 意识到这个表达式将使一个16位机的整型数溢出-因此要...

【C语言】【面试题】使用main函数的参数,实现一个整数计算机,程序可以接受三个参数【代码】

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> int int_computer(int num1, char *p, int num2) { if (p == "-a") return num1 + num2; else if (p == "-s") return num1 - num2; else if (p == "-m") return num1 * num2; else if (p == "-d") return num1 / num2; else return -1; } int main(int argc,int argv) { char a; char *p = &a; int num1 = 0; int...

【C语言】【面试题】5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果问题【代码】

#include <stdio.h> int main() { int A,B,C,D,E; for( A=1; A<=5; A++) { for( B=1; B<=5; B++) { for( C=1; C<=5; C++) { for( D=1; D<=5; D++) { for( E=1; E<=5; E++) { if( (B==1) + (A==3) ==1 && ...

【C语言】【面试题】【笔试题】模拟实现数据库中strcmp函数【代码】

#include <stdio.h> #include <stdlib.h> #include <assert.h>int my_strcmp1(const char *dest,const char *src)//方法1 { assert(dest); assert(src); while (*dest==*src) { if (*dest == ‘\0‘) { return 0; } dest++; src++; } return *dest - *src; } int my_strcmp2(const char *dest, const char *src)//方法2 { int ret = 0; whil...

【C语言】【面试题】【笔试题】模拟实现数据库中strcat函数【代码】

#include <stdio.h> #include <stdlib.h> #include <assert.h>char *my_strcat(char *dest, const char *src) { assert(dest); assert(src); char *ret = dest; while (*dest) { dest++; } while (*dest++ = *src++) { ; } return ret; }int main() { char arr3[20] = "welcome "; char arr4[20] = "to bit!"; char *ret=my_strcat(arr3, arr4); printf(...

【C语言】【面试题】【笔试题】模拟实现数据库中strcpy函数【代码】

#include <stdio.h> #include <stdlib.h> #include <assert.h> char *my_strcpy(char *dest, const char *src) { assert(dest); assert(src); char *ret = dest; while (*dest++ = *src++) { ; } return ret; }int main() { char arr1[] = "welcome to bit!"; char arr2[20]; char *ret = my_strcpy(arr2, arr1); printf("%s", ret); system("pause"); return 0; }【...

【C语言】【面试题】【笔试题】模拟实现数据库中memcpy函数【代码】

#include <stdio.h> #include <stdlib.h> #include <assert.h> void *my_memcpy(void *p1,const void *p2, size_t count) { assert(p1); assert(p2); char *dest = (char*)p1; char *src = (char*)p2; while (count--) { *dest++ = *src++; } return p1; }int main() { float arr1[160]; float arr2[10] = {1.0,2.0}; size_t count = sizeof(arr2)*(sizeof(arr2) / sizeo...

【C语言】【面试题】【笔试题】模拟实现数据库中memmove函数【代码】

#include <stdio.h> #include <stdlib.h> #include <assert.h>void *my_memmove(void *p1, const void *p2, size_t count) { assert(p1); assert(p2); char *dest = (char*)p1; char *src = (char*)p2; dest = dest + 16; src = src + 8; if ((src <= dest) && (dest <= (src + count))) { while (count--) { *(dest + count) = *(src + count); } } ...