| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1007 人关注过本帖
标题:问个比较简单的问题,在兴趣的来看看~
取消只看楼主 加入收藏
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
结帖率:93.33%
收藏
 问题点数:0 回复次数:3 
问个比较简单的问题,在兴趣的来看看~
#include"stdio.h"
void main()
{int i,a[10];
for(i=0;i<10;)
   {
    a[i]=++i;
    printf("a[%d]%d\n",i,a[i]);
   }  
getch();}
这个代码的结果是从a[1]开始输出的,为什么不是从a[0]开始呢~
另外如果变成:
#include"stdio.h"
void main()
{int i,a[10];
 for(i=0;i<10;)
   {
   a[i]=i++;
   printf("a[%d]%d\n",i,a[i]);
}
getch();}
后面就输出的是很大的数字~不知道是为什么~应该是随机数字吧~
   这两个式子有什么差别,小弟比较笨,希望能详细的帮帮我~
搜索更多相关主题的帖子: 兴趣 
2007-11-25 17:09
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
看不懂LS的哦~前面那个程序是因为程序是从右往左执行的么
后面的那个程序呢?为什么输出那一大串的数字~

凤凰涅磐,浴火重生!

2007-11-25 17:34
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
哦~原来是这样~
     上面那个程序是因为程序是从左到右执行的,所以错了~
  下面的是因为输出中没有给a[i]赋值,所以输出的是随机值了~是么~

凤凰涅磐,浴火重生!

2007-11-25 17:55
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
原来 i在此程序中的位置不同,执行的顺序也不同,如果是我那种写法就是先执行一次了再自加,就会引起指针指向错误,
并出现数组溢出的问题,谢谢cosdos
我有个号叫zhuanghu1987那个号上的问题都是你帮我解答的,太感谢你了~

凤凰涅磐,浴火重生!

2007-11-26 12:17
快速回复:问个比较简单的问题,在兴趣的来看看~
数据加载中...
 
   



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

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