C语言中函数返回值的类型是由 决定?为什么选A,而不选B呀?谁知道呀?
A.函数定义时指定的类型B.return语句中的表达式类型C.调用该函数时的实参的数据类型D.形参的数据类型...
A.函数定义时指定的类型
B.return语句中的表达式类型
C.调用该函数时的实参的数据类型
D.形参的数据类型 展开
B.return语句中的表达式类型
C.调用该函数时的实参的数据类型
D.形参的数据类型 展开
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
展开全部
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;
}
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如一个求最大值函数定义的时候我这样定义
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是看函数类型。所以其他都不对
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是看函数类型。所以其他都不对
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double func()
{
return 1;
}
{
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询