发信人: thebestone (Simple life), 信区: C

标 题: 【合集】中兴面试C语言题

发信站: 饮水思源 (2002年01月20日17:20:51 星期天), 站内信件

☆──────────────────────────────────────☆

assembly (assembly) 于 2001年11月13日11:13:42 星期二 提到:

〖 以下文字转载自 job 讨论区 〗

〖 原文由 jackjun 所发表 〗

发信人: ldldld (流云), 信区: Career

标 题: 中心面试c语言题,我没答出来

发信站: BBS 水木清华站 (Mon Nov 12 15:38:17 2001)

请问下面程序是否有错

int loop;

int a[5],*p;

void main()

{

p=a;

for(loop=0;loop<5;loop++)

{

p++;

*p=loop;

}

}

☆──────────────────────────────────────☆

thinker (thinker) 于 2001年11月13日11:16:15 星期二 提到:

loop==4 时候越界

☆──────────────────────────────────────☆

legendcorba (legendcobra) 于 2001年11月13日11:24:27 星期二 提到:

严格说来,也没有错呀。

☆──────────────────────────────────────☆

assembly (assembly) 于 2001年11月13日11:29:58 星期二 提到:

试了一下

freebsd4.3 loop>=2667出错

mandrake 8.0 loop>=624出错

debian 2.2.19 loop>=627出错

win2000 msvc6 loop>=5出错

似乎m$的检查更严格

☆──────────────────────────────────────☆

assembly (assembly) 于 2001年11月13日11:32:49 星期二 提到:

win2000下,执行时显示访问内存错误

☆──────────────────────────────────────☆

rabbit (Victor) 于 2001年11月13日12:31:27 星期二 提到:

能详细说一下“越界”是怎么回事吗?

☆──────────────────────────────────────☆

helic (大恶人) 于 2001年11月13日13:27:11 星期二 提到:

我在2000下也跑了一遍, 没有问题的说。 不过直接写指针总是不好的啦。改成像

*(p+loop)=loop;会比较规范。

☆──────────────────────────────────────☆

howe (无痕) 于 2001年11月13日13:32:14 星期二 提到:

你没有被录取

这个程序的赋值结果不会符合编程者的原意.

编译后运行会不会出错与编译器极其设置有关.

就算运行不出错,最后p很有可能指向地址0x4.

☆──────────────────────────────────────☆

helic (大恶人) 于 2001年11月13日14:00:09 星期二 提到:

不会指向0x4. 编译器在分配内存给int a[5]的时候不会分配到0, 除非内存不够了。而

p是指向这段内存的。也不会指到0x4去吧。

☆──────────────────────────────────────☆

law (游戏*人生) 于 Tue Nov 13 14:23:54 2001) 提到:

hehe, 有可能是p = 4

也有可能是total = 4;

这要看编译器怎么在栈里放局部变量了。

☆──────────────────────────────────────☆

howe (无痕) 于 2001年11月13日14:26:11 星期二 提到:

loop==4时,对*p的赋值是越界的,但是

如果编译器分配内存时连续分配的话

a[5]就是p, 所以此时*p就是p,也就是说,

此时p指向的就是自己的地址

这时给*p赋值4,就把p指向了0x4

☆──────────────────────────────────────☆

helic (大恶人) 于 2001年11月13日15:30:07 星期二 提到:

不好意思,是我没有看仔细,再看了一遍, 当loop==4时, p指向a[5], 而不是a[4],

这样的程序真令人ft.

☆──────────────────────────────────────☆

victor (victor) 于 2001年11月13日15:35:13 星期二 提到:

谢谢提醒,刚才我也没看明白,以为还在a[4]呢

现在懂了

☆──────────────────────────────────────☆

huaihuai (坏坏◎/\◎不要离我太近!) 于 2001年11月13日15:42:06 星期二 提到:

nod.本来我在job板也是这么说的,

后来一位老兄硬是指摘偶的不是,害的我不得不学习了一下cygwin下

gdb的用法,结果发现有时候即使指针指到a[7]也不会出错,

原来是因为cygwin下面的gcc在分配变量内存的时候会按16字节节对齐,

估计其他编译器也可以这样。而且记得好像有#programma语句或者

是编译开关可以关掉节对齐的。那样就……。

☆──────────────────────────────────────☆

robinhan (无情网客) 于 2001年11月13日17:44:48 星期二 提到:

不可能。我试过的可以啊。没错呀。

☆──────────────────────────────────────☆

yuanziying (小元) 于 2001年11月13日20:13:53 星期二 提到:

恐怕中心面试的人也不会想到那么多。

☆──────────────────────────────────────☆

bgee (★★★★★) 于 2001年11月16日11:20:36 星期五 提到:

当p=a时,表示指针p指向数组a的这一事实。

当loop==4时,p却指向了数组a之外去了。

也许这是C程序最忌讳的事情了吧?

中兴笔试c语言,中兴面试C语言题1相关推荐

  1. 中兴面试C语言题(2)

    信人: thebestone (Simple life), 信区: C 标  题: [合集]中兴面试C语言题(2) 发信站: 饮水思源 (2002年01月20日17:24:18 星期天), 站内信件 ...

  2. c语言指针笔试面试题,c语言指针面试常见问题

    c语言指针面试常见问题 指针的使用,一直是c语言面试题中必考的部分,因为指针本身使用的复杂性与普适性,所以考点非常多,而且也可以与其他知识相互结合,因此我们将会使用五篇专题的篇幅来介绍指针. 分析下面 ...

  3. 【华为笔试】安排面试官。有M个面试官,每个面试官熟悉的编程语言是一个列表,有N个面试者,按照面试者的机试选择的语言分配面试官进行面试(Python)

    题目 有M个面试官,每个面试官熟悉的编程语言是一个列表,比如["Java", "C++", "Golang"]表示该面试官熟悉Java.C+ ...

  4. 保研面试C语言题目,【保研】面试真题1000道.pdf

    保研岛 面试真题整理 目录 数据科学2 计算机3 软件工程4 地理学6 海洋科学7 环境|环境管理8 林学9 园艺学10 生物信息学12 投资|金融13 国际金融16 国际商务17 保险学18 企业管 ...

  5. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

  6. c语言sort函数_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include 2. ...

  7. C语言经典面试笔试题

    总结几道C语言经典面试笔试题,涉及联合体,位段,大小端等知识点,有兴趣的可以刷刷. 1.联合体大小问题 2.联合体+大小端问题 3.形参与实参关系+内存开辟问题 4.位段使用问题 5.返回栈空间地址问 ...

  8. 华为c语言技术面试问题大全,精选华为C语言面试题

    华为C语言面试题集C语言面试题-华为C语言面试题深圳华为面试 C语言面试题 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" 局部变量可以与 ...

  9. 投篮c语言程序设计,教师招聘笔试体育之篮球必做20题(一)

    教师招聘笔试体育之篮球必做20题(一) 一.单项选择题 1.篮球是最基本的区域联防战术是( )站位. A.2-1-2 B.2-3 C.3-2 D.1-3-1 2.国际篮球规定,球员的球衣号码必须是从( ...

  10. 最新九月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试三十题

    最新九月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试三十题 引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾断过. ...

最新文章

  1. html,css,js小实例,CSS和JavaScript脚本实例
  2. 【luogu2737】 [USACO4.1]麦香牛块Beef McNuggets [动态规划 完全背包][数学 扩展欧几里德]...
  3. 发布json数据_技术分享 | MySQL 8.0.17 GA 发布!
  4. [YTU]_2638(编程题:多态--动物叫)
  5. 【总结】DIV+CSS有可能遇到的问题
  6. 返回对应对象的克隆方法
  7. 作者:杨琪,数据堂(北京)科技股份有限公司企业发展部副总监。
  8. java集合按大小排序_JAVA中对List根据map某个key值从小到大顺序进行排序
  9. python处理时间的标准函数库_使用Python的datetime库处理时间(RPA流程)
  10. 64.Linux/Unix 系统编程手册(下) -- 伪终端
  11. html网页静态时钟代码,网页时钟实现代码html5
  12. 广域网加速方案--Riverbed
  13. win10资源管理器explorer总是崩溃重启
  14. 怎么判断日出时间早晚_怎样知道当地每天几点日出?
  15. 告别硬编码,MySQL 如何实现按某字段的不同取值进行统计?
  16. 如何才能达到超光速?
  17. python行业中性_Python抓取分析淘宝连衣裙数据,128元真的是低价人群分界线吗?...
  18. 图像处理知多少?准大厂算法工程师30+场秋招后总结的面经问题详解
  19. C语言中 指针变量 取地址符的用法 *指针变量名的用法
  20. 高校社团管理系统的设计与实现

热门文章

  1. [培训-无线通信基础-6]:信道编码(分组码、卷积吗、Polar码、LDPC码、Turbo码)
  2. 哈希表---开链法解决哈希冲突
  3. idea上传新项目至svn仓库
  4. 机器学习中数据预处理的几种方法
  5. Java中测试类的使用(用于更加便捷的测试代码)
  6. 教程,word导出为pdf既要书签和链接又要高清图片
  7. 数学建模可以用python_数学建模可以用Python吗
  8. 小一寸照片的尺寸规格 小一寸的照片多少像素
  9. 读取xlsx,根据模板图片批量添加文字生成相关图片,如证书,奖状,名片等
  10. [转]小D课堂 - 零基础入门SpringBoot2.X到实战_汇总