函数简单了解(相关函数介绍1)
是C语言中的一个头文件,stdlib 头文件里包含了C语言的一些函数,该文件包含了的C语言标准库函数的定义,今天小编就来说说关于函数简单了解?下面更多详细答案一起来看看吧!
函数简单了解
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