1 / 5
文档名称:

C面试题.docx

格式:docx   大小:27KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C面试题.docx

上传人:秋江孤影 2022/7/7 文件大小:27 KB

下载得到文件列表

C面试题.docx

相关文档

文档介绍

文档介绍:指针与引用的区别:
引用必须被初始化,指针不必;引用初始化后不能改变,指针可以改变所指的对象;不存在指向空值的引用,但是存在指向空值的指针。
是不是一个父类写了一个virtual函数,如果子类覆盖它的函数不加virtual,也能实现多态符串过大,会引发堆栈溢出!!!
下面代码有什么错误Voidtest1()(charstring[10];char*str1="09”;strcpy(string,str1);}数组越界下面代码有什么问题Voidtest2()(charstring[10],str1[10];for(i=0;i<10;i++)(str1[i]='a';}strcpy(string,str1);}数组越界(以’/0'为拷贝界限)下面代码有什么问题Voidtest3(char*st⑴(charstring[10];if(strlen(str1)<=10)(strcpy(string,str1);}}==数组越界==strcpy拷贝的结束标志是查找字符串中的\0因此如果字符串中没有遇到\0的话会一直复制,直到遇到\0,上面的123都因此产生越界的情况建议使用strncpy和memcpy下面代码有什么问题#defineMAX_SRM256DSNget_SRM_no()(staticintSRM_no;出运行结果:
{出运行结果:
{C++写个程序,如何判断一个操作系统是16位还是32位的不能用sizeof()函数A1:
16位的系统下,inti=65536;cout<<i;不用第三方参数的情况下,交换两个参数的值#includevoidmain(){inti=60;intj=50;i=i+j;j=i-j;i=i-j;printf("i=%dn",i);printf("j=%dn”,j);}方法二:
iA=j;jA=i;iA=j;方法三:
关位域的面试题(为什么输出的是一个奇怪的字符)='b';效果相当于='b'&0xf;
'b'->01100010
'b'&0xf->>00000010所以输出Ascii码为2的特殊字符</endl;</endl;</MAX_SRM;I++,SRM_no++)chart:4;就是4bit的字符变量,同样unsignedshorti:8;就是8bit的无符号短整形变量尚未验证i=10,j=10,k=3;k*=i+j;k最后的值是60进程间通信的方式有进程间通信的方式有共享内存,管道,Socket,消息队列,DDE等21.
structA{chart:4;chark:4;unsignedshorti:8;unsignedlongm;}sizeof(A)=(不考虑边界对齐)7structCELL位结构中的成员可以定义为unsigned,也可定义为signed,但当成员长度为1时,会被认为是unsigned类型。因为单个位不可能具有符号。
位结构中的成员不能使用数组和指针,但位结构变量可以是数组和指针,如果是指针,其成员访问方式同结构指针。
位结构总长度(位数),是各个位成员定义的位数之和,可以超过两个字节。
位结构成员可以与其它结构成员一起使用。
例如:
structinfo{charname[8];intage;structaddraddress;floatpay;unsignedsta