C语言中函数返回值的类型是由 决定?为什么选A,而不选B呀?谁知道呀?

A.函数定义时指定的类型B.return语句中的表达式类型C.调用该函数时的实参的数据类型D.形参的数据类型... A.函数定义时指定的类型
B.return语句中的表达式类型
C.调用该函数时的实参的数据类型
D.形参的数据类型
展开
 我来答
太空石墨烯
推荐于2017-09-04 · TA获得超过508个赞
知道答主
回答量:70
采纳率:0%
帮助的人:81.4万
展开全部

C语言函数返回值是由定义函数时所定义的函数的类型决定的。
也就是说你的函数是什么类型,返回值就是什么类型。
比如:
函数定义  int fun(int a,char b)
返回值就是整型
函数定义  int *fun(int a)
返回值就是基类型为整型的指针
函数定义  void fun(int a)
无返回值


return语句的表达式能转换成函数定义类型,则返回函数定义类型,否则将warning

比如:

int fun(int a)
{
    float a=1.5;
    return a;//warning C4244: 'return' : conversion from 'float ' to 'int ', possible loss of data
}

这时实际上返回的是1而不是1.5

wang1peng2rui3
推荐于2018-10-01 · TA获得超过378个赞
知道小有建树答主
回答量:102
采纳率:100%
帮助的人:38.2万
展开全部
int hello(){
char a='a';
return a; //返回的是 97
}
char hello(){
int a=97;
return a; //返回的是 a
}
但是这样你又看不出来。如果学过c++的话用cout<<hello()<<endl; 分别输出这两个函数就可以了。
给你写个完整代码。可以直接在dev c++中运行
#include<iostream>
using namespace std;
int hello1(){
char a='a';
return a; //返回的是 97
}
char hello2(){
int a=97;
return a; //返回的是 a
}
int main(){
cout<<hello1()<<" "<<hello2()<<endl;
getchar();//为了暂停看一下结果
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
357272055
推荐于2017-09-23
知道答主
回答量:14
采纳率:0%
帮助的人:9.9万
展开全部
比如一个求最大值函数定义的时候我这样定义
int max(float a, float b){
float larger;

a > b ? larger = a : larger = b;
return larger;

}
假如我给参数 a = 2.6 b = 2.8
那么larger = 2.8
但是函数的返回值类型看的只能是函数类型, 这样最后返回的只是2而已 , 尽管larger是2.8, 由于函数max的类型是int , 被强制截断成了2

题目四个选项里面只有A是看函数类型。所以其他都不对
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巴黎是小沫
2014-02-21 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:68
采纳率:0%
帮助的人:54.2万
展开全部
double func()
{
return 1;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式