c语言中怎么调用自己定义的函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中怎么调用自己定义的函数?相关的知识,希望对你有一定的参考价值。

在使用一个函数之前必须先对他进行声明:

//void B();声明B函数的存在。void A()B();//非法,程序执行到此时并不知道B函数的存在。void B()

或者

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int fa(int n)

int a;

for(a=2;a<=sqrt(n*1.0),n%a!=0;a++);

if(a>sqrt(n*1.0))

return(1);

else

return(0);

void main( )

int n,q;

scanf("%d",&n);

扩展资料

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int fa(int n)

int a;

for(a=2;a<=sqrt(n*1.0),n%a!=0;a++);

if(a>sqrt(n*1.0))

return(1);

else

return(0);

void main( )

int n,q;

scanf("%d",&n);

if(fa(n)==1)

printf("n");

else

printf("y");

system("pause");

exit(0);

参考资料:百度百科 - C语言函数

参考技术A

  一,函数调用的一般形式为:

  函数名(实参列表);

  实参可以是常数、变量、表达式等,多个实参用逗号,分隔。

  在C语言中,函数调用的方式有多种,例如:

  在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参列表中各个参数是自左向右使用呢,还是自右向左使用。对此,各系统的规定不一定相同。

  【示例】在VC6.0下运行以下代码。

  运行结果:

  8 7 6 7


  可见VC 6.0是按照从右至左的顺序求值。如果按照从左至右求值,结果应为:

  9  10  9  8

  函数的嵌套调用


  函数不能嵌套定义,但可以嵌套调用,也就是在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用,即在被调函数中又调用其它函数。

  【示例】计算sum = 1! + 2! + 3! + ... + (n-1)! + n!

  分析:可以编写两个函数,一个用来计算阶乘,一个用来计算累加的和。

  #include <stdio.h>


  //求阶乘

  long factorial(int n)

  int i;

  long result=1;

  for(i=1; i<=n; i++)

  result *= n;

  


  return result;

  


  // 求累加的和

  long sum(long n)

  int i;

  long result = 0;

  for(i=1; i<=n; i++)

  //嵌套调用

  result += factorial(n);

  


  return result;

  


  int main()

  printf("1!+2!+...+9!+10! = %ld\\n", sum(10));


  return 0;

  


  二,有些自定义函数可能会被频繁的调用,所以写在一个C文件里是不太方便的。应该把这些自定义的函数写在一个C文件里,同时在一个头文件.h文件里声明。主函数可以通过引用该头文件然后调用需要的自定义函数。

  1,举例:在头文件(.h)里声明自定义函数

  2,在一个C语言文件里写下自定义函数的实现

  3,在主函数中调用自定义函数

  4,最后编译所有的涉及到的C文件,头文件可以不管

参考技术B 回答

您稍等一下哦,马上就好,感谢您的等待

Copyright © 1999-2020, CSDN.NET, All Rights Reserved 登录塔塔君Minkun关注c语言中怎么调用自己定义的函数,c语言中怎么调用自己定义的函数? 转载2021-05-24 21:19:26 1点赞塔塔君Minkun 码龄4年关注一,函数调用的一般形式为:函数名(实参列表);实参可以是常数、变量、表达式等,多个实参用逗号,分隔。在C语言中,函数调用的方式有多种,例如:在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参列表中各个参数是自左向右使用呢,还是自右向左使用。对此,各系统的规定不一定相同。【示例】在VC6.0下运行以下代码。运行结果:8 7 6 7可见VC 6.0是按照从右至左的顺序求值。如果按照从左至右求值,结果应为:9 10 9 8函数的嵌套调用函数不能嵌套定义,但可以嵌套调用,也就是在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用,即在被调函数中又调用其它函数。【示例】计算sum = 1! + 2! + 3! + ... + (n-1)! + n!分析:可以编写两个函数,一个用来计算阶乘,一个用来计算累加的和。#include//求阶乘long factorial(int n)int i;long result=1;for(i=1; i<=n; i++)result *= n;return result;// 求累加的和long sum(long n)int i;long result = 0;for(i=1; i<=n; i++)//嵌套调用result += factorial(n);return result;int main()printf("1!+2!+...+9!+10! = %ld\\n", sum(10));return 0;二,有些自定义函数可能会被频繁的调用,所以写在一个C文件里是不太方便的。应该把这些自定义的函数写在一个C文件里,同时在一个头文件.h文件里声明。主函数可以通过引用该头文件然后调用需要的自定义函数。1,举例:在

参考技术C

    函数调用的一般形式为:

    函数名(实参表列);

    实参可以是常数、变量、表达式等,多个实参用逗号,分隔。

#include<stdio.h>

//定义函数 

int max(int a,int b)

return a?b:a>b; 

int main()

int a=5,b=10,c;

c=max(a,b); //调用max函数 

printf("%d\\n",c); 

 

拓展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。  目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

参考技术D

在scanf中不要用\\n. 

如果要忽略一个字符. 可以

getchar();
    scanf("%c", &C);

另外 要传给主函数, 需要指针, 或者用返回值. 即

void info (char *C)

    getchar();
    scanf("%c", C);

调用的时候

info (&A);
info (&B);

C语言中,用于设置中断、中断信号的函数都有哪些?怎么设置一个发送中断信号(自己定义的)的函数?

函数要比较新的,dos时代的函数最好不要了。如何设置一个到了一定时间间隔自动发送中断信号在函数?不要alarm(),要精度高一点的。
//分数就这么点了,能帮的前辈尽量帮帮我……

对于C51单片机,其内部总共有五级中断源
分别为外部中断0、定时器0、外部中断1、定时器1及串行中断。
C51单片机的中断使用时,主要是通过中断服务号来决定的。
如你定义一个中断服务函数:
void KEY(void) intterrupt 0



当外部中断0申请中断时
会自动根据interrupt后面的0,找到上面定义的这个中断服务函数。
对于其他四个中断源,其对应的中断号分别为1、2 、3、4
参考技术A 设置一个定时器,然后安装信号处理函数。
以下是一个用定时器写的程序

#include<stdio.h>
#include<time.h>
#include<sys/time.h>
#include<stdlib.h>
#include<signal.h>

static int count=0;

void set_timer()//设置定时器

struct itimerval itv;
itv.it_value.tv_sec=3;
itv.it_value.tv_usec=0;
itv.it_interval.tv_sec=2;
itv.it_interval.tv_usec=0;
setitimer(ITIMER_REAL,&itv,NULL);//启动定时器


void signal_handler(int m)//信号处理函数

count++;
//printf("%d\n",count);

int main()

signal(SIGALRM,signal_handler);//安装信号
set_timer();
while(count<10);
exit(0);
追问

谢谢回答,函数写的很好。为什么我没有学到过这些结构体呢?这些结构体很有用,siganal.h.sys/time 我也知道,可就是这些可以用的结构、函数不知道。请问哪本书讲这些常用函数比较多呢?不要纯列举函数的,要讲原理的。没学过单片机,谢谢!

追答

推荐UNIX环境高级编程,linux程序设计

追问

确实好书

怎么这个函数在时间到了之后显示了个alarm clock就把函数结束了呢?不应该重新开始计时吗?

本回答被提问者和网友采纳

以上是关于c语言中怎么调用自己定义的函数?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中,在一个自定义函数里面只能调用一个自定义函数吗?可以调用多个吗?如果可以怎么调用?

c语言 自定义函数怎么用啊

C语言中,用于设置中断、中断信号的函数都有哪些?怎么设置一个发送中断信号(自己定义的)的函数?

c语言中主函数能调用自己吗?

c语言中怎么调用自定义函数

c语言函数调用规则