| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 294 人关注过本帖
标题:一道程序题,我的答案和运行结果不一样,求解
只看楼主 加入收藏
q974740928
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2013-12-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
一道程序题,我的答案和运行结果不一样,求解
程序代码:
struct NODE
{

 int k;

 struct NODE *link;
};
main()
{
  struct NODE m[5],*p=m,*q=m+4;
  int i=0;       
  while(p!=q)
  {
     p->k=++i;
     p++;
     q->k=i++;
     q--;
     q->k=i;
     for(i=0;i<5;i++)
       printf("%d  ",m[i].k);
  
  }
}
我的答案是1002113431
2014-03-12 11:10
q974740928
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2013-12-6
收藏
得分:0 
在线等...
2014-03-12 11:11
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:20 
1. m[5] 未初始化. 第一次输出时m[1].k m[2].k里面的值是未定义的.
2. 输出的for循环改变了i的值, 所以第二次循环的时候, i不是等于2, 而是等于5.
 建议1. 在循环之前初始化值为0.
     2. for循环用变量j.
2014-03-12 13:12
快速回复:一道程序题,我的答案和运行结果不一样,求解
数据加载中...
 
   



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

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