函数简单了解(相关函数介绍1)

是C语言中的一个头文件,stdlib 头文件里包含了C语言的一些函数,该文件包含了的C语言标准库函数的定义,今天小编就来说说关于函数简单了解?下面更多详细答案一起来看看吧!

函数简单了解(相关函数介绍1)

函数简单了解

C语言中的#include<stdlib.h>

是C语言中的一个头文件,stdlib 头文件里包含了C语言的一些函数,该文件包含了的C语言标准库函数的定义。

1、意思是标准输入输出头文件。

2、用到标准输入输出函数时,就要调用这个头文件。

3、stdlib.h中,包含了C语言的一些常用且方便的库函数。

4、如动态内存相关的malloc, realloc,zalloc,calloc,free等。

02利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

#include<stdio.h>

int main()

{

void plain(int n);

int i=5;

plain(i);

printf("\n");

return 0;

}

void plain(int n)

{

char next;

if(n<=1)

{

next=getchar();

putchar(next);

}

else

{

next=getchar();

plain(n-1);

putchar(next);

}

}

函数调用顺序是这样(简化一下):

刚开始这样的

plain(5) ;

putchar(5) ;

因为上面plain(5) ; 中5 >1 又调用了plain(4) ; 展开了写就成了下面的形式,看一下print的顺序就应该知道了

plain(5)

plain(4)

plain(3)

plain(2)

plain(1)

putchar(1)

putchar(2)

putchar(3)

putchar(4)

putchar(5)

getchar() 函数

函数声明: int getchar(void)

函数功能: C 库函数int getchar(void)从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于getc带有 stdin 作为参数。

返回值: 该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。

原理: 当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。

putchar() 函数

函数声明: int putchar(int char)

函数功能: 把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。

说明: 该函数将指定的表达式的值所对应的字符输出到标准输出终端上。表达式可以是字符型或整型,它每次只能输出一个字符。

假定输入12345首先n=5;next=getchar()=1;palin(n-1=4);next=getchar()=4(注意关键的地方,这个next和上一个next是不一样的,上一个next被压栈保护;)……palin(1);next=getchar()=5;(压栈完成,下面进行出栈)putchar(next=5);5被pop出来;……弄清楚递归,一定要搞明白栈(first in last out)的结构,递归就是依赖栈运行的。在运行下一个递归函数前将上一个递归函数压栈,这个递归函数运行完成后,继续运行上一个递归函数;这个递归如果拆开来写如下:1. getchar() 输入12. getchar()输入2(上一个getchar()及得到的3被压栈)3. getchar()……34. getchar()……45. getchar()……55. putchar() 输出54. putchar() 输出43. putchar() ………32. putchar()……21. putchar()……1按照1234554321的次序,标号相同的语句是同一个函数的语句,正所谓first in last out 首先被执行getchar的最后被执行putchar

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页