c语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
成都创新互联主营定陶网站建设的网络公司,主营网站建设方案,app软件定制开发,定陶h5微信小程序搭建,定陶网站营销推广欢迎定陶等地区企业咨询
函数定义的一般形式如下:
类型标识符
函数名(形参表列)
//
这是函数首部
//
以下{
}内的是函数体
{
说明部分
执行部分
}
举例说明如下:
//
定义一个不带返回值的函数
//
函数功能:输出形参的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定义一个带返回值的函数
//
函数功能:返回2个整数数的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
#include iostream// 必须的头文件#include pthread.h
using namespace std;
#define NUM_THREADS 2
// 线程的运行函数
void* say_hello(void* args){
cout "Hello Runoob!" endl; return 0;
}
int main(){
// 定义线程的 id 变量,多个变量使用数组
pthread_t tids[NUM_THREADS];
for(int i = 0; i NUM_THREADS; ++i)
{
//参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数
int ret = pthread_create(tids[i], NULL, say_hello, NULL);
if (ret != 0)
{
cout "pthread_create error: error_code=" ret endl;
}
}
//等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来;
pthread_exit(NULL);
}
g++ test.cpp -lpthread -o test.o 编译
./test.o执行
到底是什么意思呢?
像这样吗?
struct
SLIST
a,b,c,*p;
a.data='a';
b.data='b';
c.data='c';
p=a;
a.next=b;
b.next=c;
c.next='\0';
if(p==‘\0’)//这样应该是0而不是O
printf(“Linklist
is
null!\n”);/*链表为空(只有头结点)*/
else
/*链表非空*/
{
printf(“head”);
do
{printf(“-%d”,p-data);/*输出当前结点数据域中的值*/
p=p-next; /*p指向下一个结点*/
}
while(p!=‘\0’); /*未到链表尾,继续循环*/
printf(“-end\n”);
#includelt;stdio.hgt;
#includelt;stdlib.hgt;
int HCF(int x,int y);//定义最大公约数函数
int LCM(int p,int q);//定义最小公倍数函数
int main()
{
int a,b,hcf,lcm;
scanf("%d%d",a,b);//输入两个整数
hcf=HCF(a,b);//调用最大公约数函数
lcm=LCM(a,b);//调用最小公倍数函数
printf("HCF is%d LCM is%d\n",hcf,lcm);//输出最大公约数和最小公倍数
system("pause");
return 0;
}
int sum;//定义外部变量sum
//最大公约数函数
int HCF(int x,int y)
{
int i,k,m,n;
sum=1;
k=xgt;y?y:x;
i=2;
while(ilt;=k){
m=x%i;
n=y%i;
if(m==0n==0){
sum*=i;
x/=i;
y/=i;
i=2;
}
else
i++;
}
return sum;
}
//最小公倍数函数
int LCM(int p,int q)
{
int lc;
lc=p*q/sum;
return lc;
}
扩展资料:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
#include stdio.h
#include string.h
int maxValue(int a,int b);
int sum(int a,int b);
int main(void)
{
int (*func)(int a,int b)=NULL;
char str[10];
gets(str);
if(!strcmp(str,"maxValue"))
{
func=maxValue;
}
else
{
if(!strcmp(str,"sum"))
{
func=sum;
}
}
if(func)
{
printf("%d\n",(*func)(3,5));
}
return 0;
}
int maxValue(int a,int b)
{
return ab?a:b;
}
int sum(int a,int b)
{
return a+b;
}
我在c++里做了一个测试,程序如下:
#includestdio.h
int max(int x,int y){return x+y;}
int max(int x,int y,int z){return x+y+z;}
void main()
{
printf("%d\n",max(1,2));
printf("%d",max(1,2,3));
}
如果定义别的名字相同的函数,可以把它们的参数设置成不同的,否则会出现二义性