怎样理解C语言中的函数?

Python019

怎样理解C语言中的函数?,第1张

许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,这就是程序中的函数。如C语言中:int max(int x,int y){return(x>y?x:y)}就是一段比较两数大小的函数,函数有参数与返回值。C++程序设计中的函数可以分为两类:带参数的函数和不带参数的函数。这两种参数的声明、定义也不一样。 带有(一个)参数的函数的声明:类型名标示符+函数名+(类型标示符+参数){}不带参数的函数的声明:void+函数名( ){

}花括号内为函数体。带参数的函数有返回值,不带参数的没有返回值。 C++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。有返回值的函数可以进行计算,也可以做为右值进行赋值。 C语言中的部分函数:main(主函数)max(求最大数的函数)scanf(输入函数)printf(输出函数)

本函数为求字符长度的函数。

int

fun(char

*s)

{char

*t=s

//t取s的首地址

while(*t++)

//t自己遍历,到字符末也就是

‘\0’的时候,也是,s有几个字符,就++几次,到不能加的时候,停止循环,

return(t-s)

//首先,字符是一个字节的大小,所以t-s就是char

*s的长度,又因为*t到‘\0’的时候还加一次,所以长度包括‘\0’.

}

void cpystr(char* pss,char* pds)

{

    while((*pds = *pss)!='\0')

    {

        pds++

        pss++

    }

}

这个程序做的事情很简单

*pds=*pss这句代码把pss指向的对象复制给pds指向的对象

(*pds=*pss)!='\0'这句话就是判断*pds=*pss这句赋值是否是把'\0'赋值给*pds,判断的结果作为while的条件

然后pds和pss自增

差不多就是这样

*pds=*pss

pds=='\0'?

Yes:退出循环

No:pds++pss++