| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 492 人关注过本帖
标题:关于值传递
只看楼主 加入收藏
ynjn211
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-7-4
结帖率:60%
收藏
已结贴  问题点数:1 回复次数:6 
关于值传递
为啥子程序s值穿不到主程序k呢
int shuzu(int two[5][5],int s)
{   int m,n;
    s=two[0][0];
    for(m=0;m<5;m++)
        for(n=0;n<5;n++)
        {   if(n==m)
            {   if(two[m][n]<s)
                  s=two[m][n];
            }
            if((m+n)==4)
            {   if(two[m][n]<s)
                    s=two[m][n];
            }
         }

}
main()
{   int i,j,k;
    int one[5][5];
    for(i=0;i<5;i++)
        for(j=0;j<5;j++)
            scanf("%d",&one[i][j]);
    for(i=0;i<5;i++)
    {    for(j=0;j<5;j++)
            printf("%d    ",one[i][j]);
         printf("\n");
    }

    shuzu(one,k);
    printf("The small one is:%d",k);

}
搜索更多相关主题的帖子: one 主程序 子程序 
2010-11-10 16:43
system3288
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:140
注 册:2010-10-9
收藏
得分:0 
首先你的k 没有初始化,也没有赋值。
再说了,这样的值传递本来就不会改变主函数中K的值,除非你传递的是地址。
s=two[0][0];这是什么意思?一个是二维数组一个是整型变量,怎么能把二维数组的值赋给整型变量呢?
呵呵,楼主应该好好看下书上的一些概念。
2010-11-10 19:27
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:0 
因为值传递想有返回值就要用return,你这里只改变了子函数的值,却没有影响到主函数.

经验积累中............
2010-11-10 21:22
slowlyzl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:85
专家分:170
注 册:2010-10-20
收藏
得分:0 
s=two[0][0];二维数组的值赋给整型变量可以的吧?数组也是int型的啊。
请教下呢
2010-11-10 22:42
浩凡儿
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:101
专家分:394
注 册:2010-10-30
收藏
得分:0 
#include<stdio.h>

int shuzu(int two[5][5])
{   int m,n,s;
    s=two[0][0];
    for(m=0;m<5;m++)
        for(n=0;n<5;n++)
        {   if(n==m)
            {   if(two[m][n]<s)
                  s=two[m][n];
            }
            if((m+n)==4)
            {   if(two[m][n]<s)
                    s=two[m][n];
            }
         }
   
return s;
}
 void main()
{   int i,j,k;
    int one[5][5];
    for(i=0;i<5;i++)
        for(j=0;j<5;j++)
            scanf("%d",&one[i][j]);
    for(i=0;i<5;i++)
    {    for(j=0;j<5;j++)
            printf("%d    ",one[i][j]);
         printf("\n");
    }

    k=shuzu(one);
    printf("The small one is:%d",k);

}
没有返回值也不能这样传值的呀这样就可以了
2010-11-11 10:13
韭菜
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2010-9-26
收藏
得分:0 
回复 5楼 浩凡儿
这也只是数值的传递啊
2010-11-11 13:01
xuexibianc
Rank: 2
等 级:论坛游民
帖 子:35
专家分:34
注 册:2010-9-8
收藏
得分:0 
,五楼编写的相当正确。。。
2010-11-11 14:05
快速回复:关于值传递
数据加载中...
 
   



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

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