求问解这个题的思路是啥?
编写一个程序实现一个整数,长整数,浮点数和双精度数除以2的计算,要求所有类型的数除2只使用一个函数。求各位大神指点一下! 感激不尽! 帮你顶下 用的是C++的函数重载{:10_254:}
#include <iostream>
//C++函数重载
int fun(int num);
long fun(long num);
float fun(float num);
double fun(double num);
int main()
{
int a = 2;
long b = 4;
float c = 8.0;
double d = 15.0;
//C++输出
std::cout<< fun(a) <<std::endl;
std::cout<< fun(b) <<std::endl;
std::cout<< fun(c) <<std::endl;
std::cout<< fun(d) <<std::endl;
//C语言输出
printf("%d\n",fun(a));
printf("%ld\n",fun(b));
printf("%f\n",fun(c));
printf("%lf\n",fun(d));
}
int fun(int num)
{
return num/2;
}
long fun(long num)
{
return num/2;
}
float fun(float num)
{
return num/2.0;
}
double fun(double num)
{
return num/2.0;
} 致年轻的我们 发表于 2016-11-29 17:05
用的是C++的函数重载
有用c做得方法么 c++ 我没学 函数重载不懂啥意思… gg {:10_266:} C语言指针实现
#include <stdio.h>
void fun(void *num,int type);
int main()
{
int a= 5;
long b = 4;
float c = 9;
double d = 15;
fun(&a,0);
fun(&b,1);
fun(&c,2);
fun(&d,3);
printf("%d\n",a);
printf("%ld\n",b);
printf("%f\n",c);
printf("%lf\n",d);
return 0;
}
void fun(void *num, int type)
{
int *p0;
long *p1;
float *p2;
double *p3;
switch(type)
{
case 0:
p0 = (int *)num;
*p0 /= 2;
break;
case 1:
p1 = (long *)num;
*p1 /= 2;
break;
case 2:
p2 = (float *)num;
*p2 /= 2;
break;
case 3:
p3 = (double *)num;
*p3 /= 2;
break;
default:
printf("type incorrect!\n");
}
}
致年轻的我们 发表于 2016-11-29 20:43
C语言指针实现
好厉害啊…你是在海口么? 致年轻的我们 发表于 2016-11-29 20:43
C语言指针实现
好厉害啊!!!请问你是在海口吗? 阿撩 发表于 2016-11-29 23:09
好厉害啊!!!请问你是在海口吗?
是啊! 致年轻的我们 发表于 2016-11-30 09:22
是啊!
我也是!!!你在读书么? 阿撩 发表于 2016-12-1 19:51
我也是!!!你在读书么?
是的,学生党 致年轻的我们 发表于 2016-12-1 20:24
是的,学生党
我天!!!你在哪里读? 阿撩 发表于 2016-12-1 20:26
我天!!!你在哪里读?
海南大学 致年轻的我们 发表于 2016-12-1 21:41
海南大学
可以加个好友吗!!!我天 太近了。。。你是计算机专业的吗? 阿撩 发表于 2016-12-1 21:43
可以加个好友吗!!!我天 太近了。。。你是计算机专业的吗?
机械电子,大二,你呢?我的扣扣853425548 致年轻的我们 发表于 2016-12-1 22:03
机械电子,大二,你呢?我的扣扣853425548
加你了!!!看扣扣!!! 重载大概的定义就是声明相同名字的函数,参数的变量可以不同
根部参数的类型调用对应的同名不同内容的函数。
... 四十二 发表于 2016-12-1 22:25
重载大概的定义就是声明相同名字的函数,参数的变量可以不同
根部参数的类型调用对应的同名不同内容的函 ...
嗯嗯 谢谢! 虽然好像说是C++的内容 我才学C 还不大懂
页:
[1]