1.gets()函数 问:请找出下面代码里的问题:#include int main(void)char buff[10];memset(buff,0,...
C语言面试题及答案 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接收一个字符串而...
c语言面试题目及最佳答案 1、描述一下gcc的编译过程? gcc编译过程分为4个阶段:预处理、编译、汇编、链接。 预处理:头文件包含、宏替换、条件编译、删除注释 编译:主要进行词法、语法、语义分析等,检查无误后将预处理好的文件编译成汇编文件。 汇编:将汇编文件转换成二进制目标文件 链接:将项目中的各个二进制文件...
答:因为main()方法的返回类型,这段代码的错误在大多数编译器里会被当作警告。main()的返回类型应该是“int”而不是“void”。因为“int”返回类型会让程序返回状态值。这点非常重要,特别当程序是作为依赖于程序成功运行的脚本的一部分运行时。 5使用_exit退出 问:在下面的代码中,atexit()并没有被调用,为什么?
答:上面代码里的.问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。 3内存泄露 问:下面的代码会导致内存泄漏吗? #include void main(void) { char *ptr = (char*)malloc(10); if(NULL == ptr) { printf("...
总是使用不经常改动的大型代码体。 #include< >和#include" "的区别 #include< >是到系统指定目录下寻找文件; #include" "是先到用户指定的目录下寻找文件,找不到就到系统指定目录下寻找。 头文件中的ifndef/define/endif 干什么用 防止头文件被重复引用。
c语言面试试题及答案 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf(" The buffer entered is [%s]",buff); return 0; } 答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存...
答:参见下面这段代码: 1#include<stdio.h>2intmain(intargc,char*argv[])3{4inti =0;5charbuff[100];6memset(buff,0,sizeof(buff));7strncpy(buff, argv[0],sizeof(buff));8memset(argv[0],0,strlen(buff));9strncpy(argv[0],"NewName",7);10//Simulate a wait. Check the process11//name...
c语言面试编程题 1、读文件 file1.txt 的内容(例如): 12 34 56 输出到 file2.txt: 56 34 12 #include #include int main(void) { int MAX = 10; int *a = (int *)malloc(MAX * sizeof(int)); int *b; FILE *fp1; FILE *fp2; ...
摘要: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); ...