面试题目之指针
2012-09-30 16:59
127 查看
题目一:请分析下面代码的结果。
解答:
输出为空。上题的本意是将字符串"China"复制到p2所指向的内存区域,然后打印p2所指向的字符串。但是结果是什么也没有复制,是因为p1和p2同时自增,当复制完p1的字符串的时候,p2也指向了"China"字符串的下一个地址处。故内容为空。在ASCII码中0代表'\0'。
题目2:请问在printf函数中采用什么样的形式打印变量内存的地址?
解答:这是c语言中常用的一项基本知识,最常用的地址打印方式是%p和0x%x两种。见下面的代码:
程序执行的结果是:
在编程中通常使用的是0x%x的形式进行打印。
#include<stdio.h> #include<string.h> #include<malloc.h> int main() { char *p1 = "China"; char *p2 = NULL; p2 = (char*)malloc(20); memset(p2,0,20); while(*p2++ = *p1++); printf("%s\n",p2); return 0; }
解答:
输出为空。上题的本意是将字符串"China"复制到p2所指向的内存区域,然后打印p2所指向的字符串。但是结果是什么也没有复制,是因为p1和p2同时自增,当复制完p1的字符串的时候,p2也指向了"China"字符串的下一个地址处。故内容为空。在ASCII码中0代表'\0'。
题目2:请问在printf函数中采用什么样的形式打印变量内存的地址?
解答:这是c语言中常用的一项基本知识,最常用的地址打印方式是%p和0x%x两种。见下面的代码:
#include<stdio.h> int main() { int a; printf("%p\n",&a); printf("0x%x\n",&a); return 0; }
程序执行的结果是:
在编程中通常使用的是0x%x的形式进行打印。
相关文章推荐
- 一道普通的面试一题目指针做参数
- 面试题目-如何计算某个时刻时指针和分指针的夹角
- 指针的笔试面试经典题目
- 一道普通的面试一题目指针做参数
- 华为的面试题目---C++中函数指针的使用
- C++面试题目(五)
- 人事面试题目总结
- Java面试常被问到的题目+解答
- C语言解惑上面一个数组指针题目分析
- 世界五百强面试题目及应答评点
- C++面试出现频率最高的30道题目(一)
- android面试题目
- 微软笔试面试题目
- 今天新路口面试的题目
- 【Android进阶】Android面试题目整理与讲解
- 一个拓扑结构题得实现(2011baidu校招研发部门的面试题目)
- java 面试100道题目12:求1+2+…+n
- [转]世界五百强面试题目及应答要点(50题)
- 轻松搞定面试中的二叉树题目
- ios面试题目