c语言函数的定义 求代码 拜托用下函数定义 不要直接做

10进制转换为2进制,c语言编程,用函数和数组做(最主要是用函数这一块,不用函数_编程_安安数码解答网
10进制转换为2进制,c语言编程,用函数和数组做(最主要是用函数这一块,不用函数
编辑: 安安数码解答网 &&&来源:用户发布&&&发布时间:&&&查看次数:23
谁知道10进制转换为2进制,c语言编程,用函数和数组做(最主要是用函数这一块,不用函数?感激不尽。
【探讨解答】
C语言10进制转换为2进制(使用数组)
急!!! 使用数组main() {int i=0,m,p[16]; scanf("%d",&m); while(m) {p[i]=m%2; m/=2; i++; } for(i--;i&=0;i--) printf("%d",p[i]); printf("\n"); getch(); }
输入一个c语言程序,能把一个十进制的数转换成二进...
#include #include #define N 16 int main(int argc, char *argv[]) {int a[N],i,n,j; scanf("%d",&n); for(i=15;i&=0;i--) {a[i]=n%2; n=n/2; } for(j=0;j
更多相关内容
本站内容来自网友发布,本站无法保证其部分内容的正确性,请用户一定仔细辨别。
[] &&[联系QQ:885&971&98] &
沪ICP备号&不能在一个函数的定义部分内定义新的函数。比如:
这种就是嵌套定义。
但是可以在函数定义体内部调用已定义的其他函数。
其他答案(共1个回答)
内部自定义函数
类型说明符“void”表示函数的返回值为空类型。
用void标识的函数常用于完成某项特定的处理任务,执行完成后不向调用者返回函数值,这类函数类似于其它语言...
函数(function)表示每个输入值对应唯一输出值的一种对应关系。函数f中对应输入值的输出值x的标准符号为f(x)。包含某个函数所有的输入值的集合被称作这个函...
回答LZ的提问:
在自定义函数时,函数名称中间所使用的下划线,首先它是一个合法的标识符。
其次,在编写代码时,一般必须有相关的注释,对以后的应用维护...
f1 和f4都不行
C的参数是传值,f1(a,b) 会把实参的值复制给a和b,实参的值不会改变。
除非用实参的指针,指针中的内容改变了,实参原来的值就改变了...
大家还关注
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
while (d=0)
x1=-b/(2*a);
x2=-b/(2*a);
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
while (d这个c为什么没输出 初学c两三天,然后想...
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区下次自动登录
现在的位置:
& 综合 & 正文
C语言宏定义函数的使用(定义单行和多行)
要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高的可移植性和可读性等。
  在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。
宏定义中允许包含两行以上命令的情形,此时必须在最右边加上"\"且该行"\"后不能再有任何字符,连注释部分都不能有,下面的每行最后的一定要是"\","\"后面加一个空格都会报错,更不能跟注释。
  我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义:
  #define MAX( a, b) ( (a) & (b) (a) : (b) )
  其次,把它用函数来实现:
  int max( int a, int b)
  return (a & b a : b)
  很显然,我们不会选择用函数来完成这个任务,原因有两个:首先,函数调用会带来额外的开销,它需要开辟一片栈空间,记录返回地址,将形参压栈,从函数返回还要释放堆栈。这种开销不仅会降低代码效率,而且代码量也会大大增加,而使用宏定义则在代码规模和速度方面都比函数更胜一筹;其次,函数的参数必须被声明为一种特定的类型,所以它只能在类型合适的表达式上使用,我们如果要比较两个浮点型的大小,就不得不再写一个专门针对浮点型的比较函数。反之,上面的那个宏定义可以用于整形、长整形、单浮点型、双浮点型以及其他任何可以用“&”操作符比较值大小的类型,也就是说,宏是与类型无关的。
  和使用函数相比,使用宏的不利之处在于每次使用宏时,一份宏定义代码的拷贝都会插入到中。除非宏非常短,否则使用宏会大幅度增加程序的长度。
  还有一些任务根本无法用函数实现,但是用宏定义却很好实现。比如参数类型没法作为参数传递给函数,但是可以把参数类型传递给带参的宏。
  看下面的例子:
  #define MALLOC(n, type) \
  ( (type *) malloc((n)* sizeof(type)))
  利用这个宏,我们就可以为任何类型分配一段我们指定的空间大小,并返回指向这段空间的指针。我们可以观察一下这个宏确切的工作过程:
  ptr = MALLOC ( 5, int );
  将这宏展开以后的结果:
  ptr = (int *) malloc ( (5) * sizeof(int) );
  这个例子是宏定义的经典应用之一,完成了函数不能完成的功能,但是宏定义也不能滥用,通常,如果相同的代码需要出现在程序的几个地方,更好的方法是把它实现为一个函数。
  下面总结和宏和函数的不同之处,以供大家写代码时使用,这段总结摘自《C和指针》一书。
define的单行定义
#define maxi(a,b) (a&;b?a:b)define的多行定义define可以替代多行的代码,例如MFC中的宏定义(非常的经典,虽然让人看了恶心)#define
MACRO(arg1,
关键是要在每一个换行的时候加上一个 "\ "//宏定义写出swap(x,y)交换函数#define swap(x, y)\x = x +\y = x -\x = x -
自己写的一个小例子:
// 不能加 *
也是一种类型
int *t = MALLOC(1,int);\
for(i=0; i&n-1; i++)\
for(j=0; j&n-1-i; j++)\
if(*(a+j) & *(a+j+1))\
*t = *(a+j);\
*(a+j) = *(a+j+1);\
*(a+j+1) = *t;\
int main(int argc,
const char * argv[])
int a=10, b=
int data[]={3,200,5};
//swap(&a, &b);
// sort(data, 3);
//和队列一样:会依据专题的(shi can)参数
自动识别类型
SORT(data, 3);
//会主动用实参
for(int i=0;i&3;i++)
cout && data[i]
//printf("%d
%d", a, b);
&&&&推荐文章:
【上篇】【下篇】}

我要回帖

更多关于 c语言函数定义 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信