| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 620 人关注过本帖
标题:[讨论]看看这个程序?
只看楼主 加入收藏
xiehongyou
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2004-8-29
收藏
 问题点数:0 回复次数:9 
[讨论]看看这个程序?

main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5;

printf("%d %d\n",*p); getch(); }

我一直弄不明白为什么还会显示1,不是只有6吗?这是怎么回事?

2004-12-27 21:02
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
你没有按照他的方法来调用函数所以结果我们可能也不能确定了,反正有6

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-12-27 21:36
FlyHorse
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-11-6
收藏
得分:0 

printf("%d %d\n",*p); 输出两个整形,却只有一个变量参数*p,编译后不报错么?

如果不报错的话,那输出的所谓的“1”就是一个随机数。


#include #include void main(void) { cprintf(\"I love program.\"); getch(); }
2004-12-27 21:47
sxpvj
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-11-27
收藏
得分:0 
同意楼上的观点

2004-12-27 21:50
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
这个与编译器有关,如果你用的是TC,那么,这个1就是a[0],你再加几个%d,那么,就会a[1],a[2]。。。。一直下去世。如果是VC,那么可能是随机值。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-12-27 22:02
断线风筝
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2004-5-20
收藏
得分:0 
有道理
2004-12-28 08:39
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

knocker 说的没错!确实时是的!经过了试验!

不过我的tc中第二个输出为随即直,第三个输出才为a[0]

vc中完全是随机值!

不过我觉得这个和他们的标准函数库是有关系的!


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-12-28 10:40
haotian84
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-12-26
收藏
得分:0 
在TC下。会显示6后,指针指向a[0],如果继续下去就会挨着移动,当移动到a[12]后,会出现随机数
2004-12-30 16:59
zhongshi
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2004-12-10
收藏
得分:0 
看不懂~~~~~~~~~
2004-12-31 08:16
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
收藏
得分:0 
2楼老大来了, 呵呵

2005-01-01 14:38
快速回复:[讨论]看看这个程序?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058328 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved