1 / 65
文档名称:

C程序员面试题.doc

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

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

分享

预览

C程序员面试题.doc

上传人:bai1968104 2020/6/9 文件大小:130 KB

下载得到文件列表

C程序员面试题.doc

相关文档

文档介绍

文档介绍:1. char*constp; charconst*p constchar*p 上述三个有什么区别? char*constp;//常量指针,p的值不可以修改 charconst*p;//指向常量的指针,指向的常量值不可以改 constchar*p;//和charconst*p------------------------------------------------------2. charstr1[]="abc"; charstr2[]="abc"; constcharstr3[]="abc"; constcharstr4[]="abc"; constchar*str5="abc"; constchar*str6="abc"; char*str7="abc"; char*str8="abc"; cout<<(str1==str2)<<endl; cout<<(str3==str4)<<endl; cout<<(str5==str6)<<endl; cout<<(str7==str8)<<endl;  打印结果是什么?解答:结果是:0011str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域-----------------------------------------------? voidUpperCase(charstr[])//将str中的小写字母转换成大写字母{    for(size_ti=0;i<sizeof(str)/sizeof(str[0]);++i)        if('a'<=str[i]&&str[i]<='z')          str[i]-=('a'-'A'); } charstr[]="aBcDe"; cout<<"str字符长度为:"<<sizeof(str)/sizeof(str[0])<<endl; UpperCase(str); cout<<str<<endl;答:函数内的sizeof有问题。根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。函数外的str是一个静态定义的数组,因此其大小为6,函数内的str实际只是一个指向字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于上只将其当指针看,一个指针为4个字节,因此返回4。-------------------------------------------------4. main() { inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); }  输出结果是什么?