标题:。。。不知道问题所在,一个简单的算法问题
只看楼主
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
结帖率:87.5%
已结贴  问题点数:10 回复次数:11 
。。。不知道问题所在,一个简单的算法问题
#include<stdlib.h>
#include<stdio.h>

void seperate(float n,int i,float j);

int main()
{
    float n,j;
    int     i;
    n = 3.1415;
    seperate(n,i,j);
    printf("整数部分:%d;小数部分:%f",i,j);

        system("pause");
        return 0;
}

void seperate(float n,int i,float j)
{
    i = n;
    j = n - i;
}


总之就是不能按照预想的那样运行。
搜索更多相关主题的帖子: void include system return 
2013-01-04 22:43
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
总之就是不能按照预想的那样运行
你怎么着也得把你预想的样子描述一下吧

谁有时间去猜你的代码意图呢

DO IT YOURSELF !
2013-01-04 22:45
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
得分:0 
回复 2楼 wp231957
额,就是一个简单的把浮点型拆成整数部分和小数部分的程序。但是运行的时候在函数调用部分出问题了。
2013-01-04 22:46
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
百度一下 形参


[fly]存在即是合理[/fly]
2013-01-04 22:53
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
程序代码:
#include<stdlib.h>
#include<stdio.h>

void seperate(float n,int* i,float* j);

int main()
{
    float n;
    float j;
    int   i;
    n = 3.1415;
    seperate(n,&i,&j);
    printf("整数部分:%d;小数部分:%f",i,j);

        system("pause");
        return 0;
}

void seperate(float n,int* i,float* j)
{
    *i = (int)n;
    *j = n - *i;
}
简单的修改了一下,貌似能输出你想要的东东

DO IT YOURSELF !
2013-01-04 22:55
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
得分:0 
回复 5楼 wp231957
额,是得到了。。。但是我更看不懂了   为什么seperate函数变量要用指针咧。。。
2013-01-04 22:59
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
子函数中的形参随着函数的返回就和调用者没关系了
要想用形参返回值 只能用指针来实现

当然 用函数返回值 可以返回一个,但不能返回2个以上

DO IT YOURSELF !
2013-01-04 23:02
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
得分:0 
回复 7楼 wp231957
这样,那为什么main函数中i,j声明的是int 和 float呢,为何不声明为int *,float *呢?
2013-01-04 23:09
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
得分:0 
对啊,形参和实参是两个不同的变量,
形参是你函数里面的,等你定义的函数结束后你传给函数的变量也就释放了,这样是无法达到修改主函数的变量的目的的。
代码五楼已经有了

我不知道我能否当程序员,但我依然热爱编程!
2013-01-04 23:10
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
得分:0 
回复 8楼 此夜望月
你不需要把变量定义成指针,只是需要在调用函数的时候传变量的地址就可以了"&Variable"

我不知道我能否当程序员,但我依然热爱编程!
2013-01-04 23:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395089-1-1.html




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

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