若函数定义如下,int fun(float a) {float b=a+3; return b; } 假设将常数3.6传给a,则函数的返回值是6? 若有下列程序 f(char a) { float b=5; ...

   www.gaoxiao88.net

若函数定义如下,int fun(float a) {float b=a+3; return b; } 假设将常数3.6传给a,则函数的计算得到b的值为6.6,因为返回值类型是int,所以就进行了一个隐形类型转换。

在类型转换时,是仅取整数部分返回的(小数部分直接“丢弃”),返回值是6。

要说数轴上的“靠拢”,那是向原点方向取到最近的一个整数点(而不是一楼所说的“往负无穷大(-∞)取整”)的:

#include <stdio.h>

int fun(float a)

{ float b=a+3;

  return b;

}

int main()

  printf("%d %d
",fun(13.6),fun(-13.6));

  return 0;

}



上述函数运行过程是这样的:

a=3.6

b=3.6+3=6.6

float b   

6

这是因为float函数是往负无穷大(-∞)取整的。



将常数3.6传给a后,执行b=a+3后,b=3.6,执行return b,但由于此函数的返回值类型是int,所以在返回时需要将float型隐式转为int型,所以函数返回值是6。若要得到6.6的返回值,应当修改函数返回值为float。

函数头int fun(float a),已经说明了函数返回int型,6.6强制类型转换为int,返回6



C语言问题求详细解答 若有如下定义:int a=2,b=3; float x=3.5,y=2.

答案选d
你得搞清楚函数的概念,一个函数要调用必须得有定义。当然如果调用出现在定义之后则可以直接调用,如果调用出现在定义之前,那么在调用之前需要对这个函数进行声明,声明和定义必须相同。
还有函数的返回值类型为void时表示函数没有返回值,不能使用函数的返回值。
a错
因为调用在定义之前但是没有声明
b错
函数定义的时候返回值类型为void,却欲图使用函数的返回值。
c错
函数的声明返回值为int,定义返回值为void
不相符
d正确
请采纳。

函数返回值的类型应该是不确定。
若函数f是下面这样定义,则返回类型是int。
int f(char a) { float b=5; b+=a/b; return b; }

若函数f是下面这样定义,则返回类型是float。
float f(char a) { float b=5; b+=a/b; return b; }

相关参考:

c语言fun(int x,int y)
如 int fun(int x,int y) \/\/即fun函数是个执行两个int型数据加法运算的动作 { return x+y;} void main(){ cout<<fun(1,19)<<endl;\/\/用1和19这两个int型的数据来执行这个fun的加法运算 }

#include<stdio.h> int fun(int n,int *s){int f1,f2;if(n==1IIn==...
这个函数是使用递归算法计算斐波纳契数列的,那个数列是这样的:1,1,2,3,5,8,13,21。。。依此类推 大致解释如下,你看看吧,应该能看明白了吧。include<stdio.h> int fun(int n,int *s){ int f1,f2;if(n==1 || n==2) \/\/ 如果是第一个或者第二个数,他们均为1 s=1;else { fun...

C语言数组作为形参实参的一些疑惑?
void fun(int arr[], int n);在函数定义的时候,形参int arr[]不是表示某个元素的值,而是告诉编译器第一个参数是一个数组指针,可以接收实参传过来的数组地址。实际上以上定义等价于下面的定义。1.数组里面带元素个数:void fun(int arr[常数], int n);这里的常数可以是任意正整数,实际上编译...

编写函数int fun(int a,int b)
include<math.h> include<stdio.h> int fun(int a,int b){ int i,j,n=0,m,s,f1,f2,x;for(i=a;i<=b;i++){ f1=1;f2=1;for(j=2;j<=sqrt(i);j++)if(i%j==0){f1=0;break;} if(f1){ m=i;s=0;x=0;while(m){ x=x*10+m%10;m\/=10;} for(j=2;j<=sqrt(...

定义一个函数,这个函数有两个整型参数
是由你定义函数时所定义的函数的类型决定的。也就是说你的函数是什么类型,返回值就是什么类型。比如:函数定义 int fun(int a,char b)返回值就是整型 函数定义 int fun(int a)返回值就是基类型为整型的指针 函数定义 void fun(int a)无返回值 ...

有以下函数 int fun(char *s) {char *t=s; while(*t++); return(t-s...
计算字符串字节长度,相当于strlen。s是个字符串指针,传递给局部变量t,指针t递增至其指向的字符为结束符(ASCII值0),t地址减去s地址就是字符串长度了。

printf("% dn", s);
代码:include <stdio.h> 请用自定义函数的形式编程实现 求 s = m! + n! + k!,m、n、k 从键盘输入(值均小 于 7)。int fun(int m);int main(){ int m,n,k;int s;printf("请输入三个小于7的数:");scanf("%d %d %d",&m,&n,&k);s=fun(m)+fun(n)+fun(k);printf("...

函数原型为: int fun(int a[],int n); 根据下面的说明,编写该函数?
按照题目要求编写的完整(包括函数)程序如下(见图)

一个C语言简单问题——int fun(int n)是什么意思
int fun(int n)规定了函数的两个要素:1、函数的返回值类型是整型;2、函数有一个整型的参数,也就是说在函数调用时必须要给它一个整型数作为参数。fun()函数内部的C+=fun(i-2)实际上表明这个函数采用了递归型算法。递归做为一种算法在程序设计语言中广泛应用,就是指一个过程或函数在其定义或...

编写一个函数int fun(char a[ ],char b[]),其功能是:删除a指向的字符串...
include<stdio.h> include<stdlib.h> include<string.h> \/\/如果返回-1,a字符串中没有数字 int fun(char a[], char b[]){ int num=-1;int ib=0;char *p=a;int isfirst=1;\/\/是否为非数字字符第一行 while(*p){ if(*p >= '0' && *p <= '9'){ b[ib] = *p;ib++;\/\/删除...

相关评论

  • 费刮669: 若有如下函数定义: int f( ) { int x=2, y=4, z=6; return -
    13224599244: D返回徝只能是一个整型数据类型.而return返回三个值.没有计算公式

  • 费刮669: 若有如下函数定义: int f( ) { int x=2, y=4, z=6; return 若有如下函数定义: int f( ) { int x=2, y=4, z=6; return z,y,x; } 则调用函数f 后的返回值是( ). - 作业帮
    13224599244:[选项] A. 2 B. 4 C. 6 D. 以上都不正确 求详解 不要只有一个答案

  • 费刮669: 若有如下函数定义:add(float x, float y){……} 则函数返回值是int型,这里为什么是int型呢 -
    13224599244: 你的问题是你定义的时候不声明返回类型,像这样, add(float a,float b) { return a + b; } 对吧? 因为C语言默认的返回类型是int类型,即省略不写时返回为int类型. 但我们编程时一般很少不写返回类型,一般如下这样写,就返回float. float add(float a,float b) { return a + b; }

  • 费刮669: 若程序中有如下函数定义: void fun(int p[10],int n) { int j; f -
    13224599244: voidfun(int*p,intn,intm)//参数说明p:传入数组n:数组大小m:{inti=0;//for循环用标记变量int*temp=(int*)malloc(n*sizeof(int));//开辟一个可以放下n(10)个整型数的空间,用temp指向它的//首地址(相当于开辟一个可存10个数组)//这样做是考虑到不能用变量直接定义一个数组//即intn=10;inta[n];是不合法的(n是变量,不是常量)for(i=0;i

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧