找错voidtest1(){charstring[10];//string的长度应该设为11,要给''留出位置char*str1="";strcpy(string,str1);}voidtest1(){charstring[10],str1[10];for(I=0;I<10;I++)//变量I没定义,增加intI;//I不能取到9,同上一题一样要给''留出位置//应该改成for(I=0;I<9;I++){str1[i]='a';//变量i没定义,改为str1[I]='a';}//此处要加上结尾标识str1[i]='';strcpy(string,str1);}voidtest3(char*str1){charstring[10];if(strlen(str1)<=10)//同样的问题,str1的长度不能超过9;改为//if(strlen(str1)<10){strcpy(string,str1);}}2。#defineMAX_SRM256DSNget_SRM_no(){staticintSRM_no;//静态变量没有初始化intI;for(I=0;I{//此处不知所云SRM_no%=MAX_SRM;if(==IDLE)//MY_SRMIDLE未定义{break;}}if(I>=MAX_SRM)returnNULL_SRM;//NULL_SRM未定义elsereturnSRM_no;}3。8,10,12,14,?是不是应该改成这样:intfunc(inta){intb;switch(a){case1:b=30;case2:b=20;case3:b=16;default:b=0;}returnb;}如果是这样func(1)=0;5. (int)*12=4*12=64(byte)?(请至少说明两种)?1)引用必须被初始化,指针不必。2)引用初始化以后不能被改变,指针可以改变所指的对象。2)不存在指向空值的引用,但是存在指向空值的指针。,?如果有,是什么区别?全局变量储存在静态数据库,????O(n^2)“零值”比较的if语句。if(x>0.&&x<-0.)?该协议的主要层次结构?tcp/ip应用层/传输层/网络层/数据链路层/?ARP(AddressResolutionProtocol)(地址解析協議)?IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,()的参数类型是:switch的参数不能为实型。華為1、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。要用全局变量,需要使用"::"局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内2、如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错3、?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错4、语句for(;1;)有什么问题?它是什么意思?答:和while(1)相同。5、do……while和while……do有什么区别?答:前一个循环一遍再判断,后一个判断以后再循环6、请写出下列代码的输出内容#include<>main(){inta,b,c,d;a=10;b=a++;c=+
南京-C语言面试题汇总 来自淘豆网m.daumloan.com转载请标明出处.