| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1076 人关注过本帖
标题:问一个简单的题
只看楼主 加入收藏
kingfly1025
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-3-15
收藏
 问题点数:0 回复次数:11 
问一个简单的题
下面这个程序看不懂,k的值不是和p一样吗?s[0]>s[0],s[1]>s[1];怎么得到结果的?
/*输出数组s中最大元素的下标*/
main()  
{
    int k,p;
    int s[]={1,-9,7,2,-10,3};

    for(p=0,k=p;p<6;p++)
    if(s[p]>s[k]) k=p;

    printf("%d",k);


    getch();
}
搜索更多相关主题的帖子: 元素 
2008-04-01 20:49
黑夜的黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-3-31
收藏
得分:0 
main()  
{
    int k,p;
    int s[]={1,-9,7,2,-10,3};

    for(p=0,k=p;p<6;p++)
    if(s[p]>s[k]) k=p;

    printf("%d",k);


    getch();
}
..........................................
main()
{
2008-04-01 21:01
黑夜的黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-3-31
收藏
得分:0 
main()
{
  int i,k;
  int s[10];
  for(i=0;i<10;i++)
   scanf("%d",&s[i]);
  for(i=0;i<9;i++)
    if(a[i]>a[i+1])
      t=a[i];
  else
      t=a[i+1];
printf("The max is%d",t);
  getch();
 }
新手上路.随便谢谢!
2008-04-01 21:06
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
收藏
得分:0 
k和p初始值一样为0,但p每循环一次会自加,但k不同,此句if(s[p]>s[k]) k=p;
它仅保存当前最大元素的下标;

GIS
Geographic Information System
你在哪里?——》你的坐标?
2008-04-01 21:08
kingfly1025
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-3-15
收藏
得分:0 
我上面的程序运行是对的,想请人解释一下
2008-04-01 21:09
kingfly1025
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-3-15
收藏
得分:0 
第一次是说k=0,p=0;第二次p+1,p=1了,k=p,k不也是1了吗,s[1]>s[1]???
2008-04-01 21:12
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
我帮你分析一下
main()  
{
    int k,p;
    int s[]={1,-9,7,2,-10,3};

    for(p=0,k=p;p<6;p++)
    if(s[p]>s[k]) k=p;

    printf("%d",k);


    getch();
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~上面是你的源程序
##########################    for循环第一次:p=0;k=0;所以:s[0]>s[0]不成立,下一循环。
————————————————for循环第二次:p=1;k=0;所以:s[1]>s[0],不成立,下一循环。
——————————————for循环第三次:p=2;k=0;所以,s[2]>s[0], 成立,k=p=2;
---------------------for循环第四次:p=3;k=2;所以,s[3]>s[2]不成立,下一循环。

………………………………
依次类推,最大值为7,下标为2,所以K值也为2,输出2。


#####################################明白了吗?
2008-04-01 21:29
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
for(p=0,k=p;p<6;p++)
p=0,k=p;这个只执行了一遍

在路上走,看见了C,从此爱上了她
2008-04-01 21:30
kingfly1025
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-3-15
收藏
得分:0 
不好意思,我很笨!不要笑我,p=0,k=p;怎么只执行一次?p=1时,k=p,k不就是1了吗?
2008-04-01 21:38
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
你可查下书上关于for循环的执行讲解,会记得深些

在路上走,看见了C,从此爱上了她
2008-04-01 22:35
快速回复:问一个简单的题
数据加载中...
 
   



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

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