| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1177 人关注过本帖
标题:调用子函数的问题
只看楼主 加入收藏
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
结帖率:90%
收藏
已结贴  问题点数:5 回复次数:15 
调用子函数的问题
#include <stdio.h>
#include <iostream>

//int celsius(int fahr);
int celsius(int fahr){   
    celsius=5*(fahr-32)/9;
    return celsius;
}

int main(void){
       int fahr;
       int lower,upper,step;
       lower=0,upper=300,step=20;
       fahr=lower;

       for(;fahr<=upper;fahr+=step){
           printf("%d\t%d\n",fahr,celsius(fahr));
       }
    system("pause");
    return 0;   
}
子函数写的有问题吗?编译不能通过
搜索更多相关主题的帖子: include return 
2015-01-30 15:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:1 
给你个建议吧
程序代码:
#include <stdio.h>

inline double celsius( double fahr ) {
    return (fahr-32)*5.0/9.0;
}

int main(void) {
    int lower=0, upper=300, step=20;
    for( int fahr=lower; fahr<=upper; fahr+=step )
        printf( "%3d\t%6.2f\n", fahr, celsius(fahr) );

    return 0;  

}

程序代码:
#include <stdio.h>

inline double celsius( double fahr ) {
    double val = (fahr-32)*5.0/9.0;
    return val;
}

int main(void) {
    int lower=0, upper=300, step=20;
    {
        int fahr;
        for( fahr=lower; fahr<=upper; fahr+=step )
            printf( "%3d\t%6.2f\n", fahr, celsius(fahr) );
    }

    return 0;  

}

2015-01-30 15:35
我FEI
Rank: 2
等 级:论坛游民
帖 子:87
专家分:27
注 册:2013-11-18
收藏
得分:1 
子函数里面的celsius没声明
2015-01-30 15:36
我FEI
Rank: 2
等 级:论坛游民
帖 子:87
专家分:27
注 册:2013-11-18
收藏
得分:0 
子函数里面的celsius没声明
2015-01-30 15:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
为什么你们的代码后面会带上数个无用的空格?
比如 return 0;   
2015-01-30 15:36
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
回复 3楼 我FEI
子函数声明后结果更不对了
2015-01-30 15:48
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:1 
int celsius(int fahr){   
     celsius=5*(fahr-32)/9;
     return celsius;
 }
改为
int celsius(int fahr){   
     celsius=(int)5*(fahr-32)/9;
     return celsius;
 }

授人以鱼,不如授人以渔
2015-01-30 16:00
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
回复 2楼 rjsp
恩,谢谢,还有个问题想请教下

inline double celsius( double fahr ) {
    double val = (fahr-32)*5.0/9.0;
这两条语句 我改成下面的也可以运行,这是什么原因呢?
inline float celsius( double fahr ) {
    double val = (fahr-32)*5.0/9.0;

inline double celsius( double fahr ) {
     float val = (fahr-32)*5.0/9.0;

但是有一边改成int就不行了
2015-01-30 16:03
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
回复 7楼 执笔画江山
改了还是有报错
2015-01-30 16:05
ybyc9999
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2015-1-24
收藏
得分:0 
int celsius;声明这个变量,为啥方到main函数里声明就不行了?在子函数里可以
2015-01-30 16:08
快速回复:调用子函数的问题
数据加载中...
 
   



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

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