| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1133 人关注过本帖
标题:两次打印的结果为什么不一样???
只看楼主 加入收藏
pengyancai
Rank: 2
等 级:论坛游民
帖 子:57
专家分:46
注 册:2013-3-4
收藏
得分:0 
回复 6楼 qiankai
你好,请看下这个,按道理说这两个row,column打印的结果应该是一样的,可是结果不一样是什么原因呢?
 printf("%.2f\n%d,%d\n",max(cj),row,column);                                                 /*问题!!!*/
  printf("%d,%d\n",row,column);                                                               /*正常!!!*/
2013-03-24 08:43
pengyancai
Rank: 2
等 级:论坛游民
帖 子:57
专家分:46
注 册:2013-3-4
收藏
得分:0 
哈哈,我自己想清楚了,本问题已解决。之所以出现那个情况,是因为,在这个输出
printf("%.2f\n%d,%d\n",max(cj),row,column);
时,row和column还是输出的初值,因为必须调用完自定义函数后,row和column才是计算出来的结果。
因此如果把程序代码改成这样就是正常了:
/*增加了一个变量sum,这样可以再打印之前调用自定义函数*/

/*四个学生五门课,输出最高成绩以及它属于第几个学生第几门课*/
# include <stdio.h>
int row,column;/*设置全局变量,row表示最高成绩的学生序号,column表示最高成绩属于第几门课*/
void main ()
{
  float max(float a[4][5]);                                                                   /*定义函数max*/
  float cj[4][5]={{61,73,85.5,87,90},{72,84,66,88,78},{75,87,93.5,81,96},{65,85,64,76,71}};   /*cj表示成绩*/
  float sum;                                                                            /*增加变量sum用来存放max(cj),这样可以在打印之前调用自定义函数*/
  sum=max(cj);
  printf("%.2f\n%d,%d\n",sum,row,column);                                                 /*问题!!!*/
  printf("%d,%d\n",row,column);                                                               /*正常!!!*/
}
float max(float a[4][5])
{
  int i,j;
  float t=0;
  for (i=0;i<4;i++)
      for (j=0;j<5;j++)
          if (a[i][j]>t)
          {
            t=a[i][j];row=i+1;column=j+1;
          }  
          return (t);
}
/*****************************************************************************************************
求助各路神仙,为什么输出的结果row和column不一样,是什么原因?
*****************************************************************************************************/


谢谢每位老师的参与!!!
2013-03-24 09:18
sonzo414
Rank: 1
来 自:四川成都
等 级:新手上路
帖 子:12
专家分:8
注 册:2013-3-13
收藏
得分:0 
作为菜鸟,我表示强势围观。。。。
2013-03-24 10:25
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
回复 10楼 pengyancai
sorry,没仔细看。。。大神都到哪里去啦TT
2013-03-24 21:58
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
回复 12楼 pengyancai
好聪明啊!!!
2013-03-24 21:59
快速回复:两次打印的结果为什么不一样???
数据加载中...
 
   



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

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