关于一个C语言的笔试题(数组+指针)
来源:互联网 发布:ug8.5车削编程 编辑:程序博客网 时间:2024/04/27 22:16
今天有个朋友和我交流了一个C语言的笔试题,感觉印象比较深,故分享下~
void test(void)
{
char arr[][5];
char *str;
int i;
str++ = arr;
i = str - arr;
//printf("%d",i);
}
问:i的值是多少?
这个题目看是很简单:就是str++后str移动的长度~
由于str指向的是char,故移动一个字节~
但是这个看似简单的题目却暗藏杀机,呵呵~
首先:
定义数组时,数组的长度必须是固定的,要是没有完全显示的指出,
则必须有初始化值,编译器会自动算出来缺失的那一项的长度。
其次:(str++ = arr;)这个表达式也有问题,因为str++并不是一个左值
感悟:这两个问题点给那个兄弟说了后,他恍然大悟,这些知识点都知道,
也并不是多么深奥的东西,但是在就是在面试没有反应过来~
做程序员做的久了,关注的东西也由小到大,由知识点到程序流程,
由流程到程序架构,由架构到系统,旁边还要挂个协议,呵呵~确实够乱的~
反而把自己搞的不懂得如何表达了~明明知道的东西到了关键时刻就是表达不出来~
自己也是深有体会~
另外也劝了兄弟(也是在提醒自己),面试时一定要淡定,否则回来就得蛋疼~
- 关于一个C语言的笔试题(数组+指针)
- C语言的一个笔试题:指针与数组的问题
- C语言中关于指针数组的一个例子
- 一道关于二维数组和指针数组的C语言笔试题目
- 一道C语言的指针笔试题
- C语言:关于数组指针
- 【C语言笔试复习】指针数组和数组指针
- 从一道C语言数组指针的笔试题看面试者的能力和心态
- 曾经进公司面试的C语言有关指针和数组的笔试题
- C语言中关于指针,二维数组等的问题,一个有趣的发现
- C语言中的指针(指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针)
- C语言数组指针(指向数组的指针)
- C语言数组指针(指向数组的指针)
- C语言数组指针(指向数组的指针)
- 93 C语言数组指针(指向数组的指针)
- c语言之交换一个指针数组的值
- C语言 指针 详解 三 C语言数组指针(指向数组的指针)
- 关于C语言指针和数组的深入探讨
- 浅谈2011年上半年Java游戏领域动态
- Spring设计模式——单例模式
- C++编译器----cl.exe的全部命令开关
- C++编译器----cl.exe的全部命令开关
- 集群中几种session同步解决方案的比较
- 关于一个C语言的笔试题(数组+指针)
- ASP.NET AJAX无限级JS树形菜单
- RubyMine 3.0 注册 序列号 破解
- 《神鬼寓言3》非常不给力
- 几种常见的基于Lucene的开源搜索解决方案对比
- mysql更改已有数据表的字符集,保留原有数据内容
- More effective c++ 11(禁止异常(exceptions)流出destructors之外)
- 万事开头难啊
- 可重入函数与不可重入函数(转)