首页
学习
活动
专区
圈层
工具
发布

关于printf函数(详解)

printf函数是包含在标准库函数里面的一个函数,printf函数的作用就是将文本信息打印在屏幕上 printf函数允许设定输出的最小宽度 例如: int a=123; printf("%5d,a)...("%12f,12.45); 首先我们要知道浮点数默认小数点后面有6位,再加上前面的3位(数字12占两个宽度,小数点 也占了一个宽度)一共是9个宽度,那么输出格式将有两个空格在数字的前面 printf函数允许设定限制小数位数...如果我们想要限制一个浮点数的小数位数,我们应该怎么做 printf("%.2f,12.345); 那么此时将只会输出“12.35”(限制了小数的位数只能保留小数点后两个位,并且还会进行4舍5入)...‘ * ’来代替,通过printf的参数来传入 printf("%*....*f",7,2,123.456);  printf函数限制字符输出长度 printf("%.5s","abcdefg"); "%.5s"表示只输出前5个字符既“abcde”

25810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【C语言入门】printf()函数

    合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下 了解printf()与scanf()是增强编程能力的关键一步 那么,今天我们来学习: printf()函数 一、基本用法 printf()的基本作用是将参数文本输出到标准输出设备...#include int main() { printf("Hello world"); return 0; } 这样就会在屏幕上输出“Hello World”的字样...因为printf()这个函数是被包含在这个头文件中的,所以在使用这个函数之前,就要在源代码之前引这个头函数。...#include int main() { printf("%s is my friend",Xiaoming); return 0; } //输出Xiaoming...在上述的两个案例里面,printf()语句里都含有两个参数,由此可以看出,有n个占位符,printf()语句里就有 n+1 个参数(输出的内容算一个参数)。

    66810

    递归函数

    递归 递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。...注: 递归的时候,每次调用一个函数,计算机都会为这个函数分配新的空间,这就是说,当被调函数返回的时候,调用函数中的变量依然会保持原先的值,否则也不可能实现反向输出。...#define _CRT_SECURE_NO_WARNINGS #include //递归 void test(int num) { if (num == 1) { printf...特点: 递归函数特点 每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同; 每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次; 递归函数中...,位于递归调用前的语句和各级被调用函数具有相同的执行顺序; 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反; 递归函数中必须有终止语句。

    1.5K30

    函数递归

    如果一个函数在内部调用自身本身,则该函数就是递归函数 递归优缺点   优点:使用递归函数的优点是逻辑简单清晰      理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰...  缺点:过深的调用会导致栈溢出 栈溢出   使用递归函数需要注意防止栈溢出   在计算机中,函数调用是通过栈(stack)这种数据结构实现的   每当进入一个函数调用,栈就会加一层栈帧...,每当函数返回,栈就会减一层栈帧   由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出 尾递归   解决递归调用栈溢出的方法是通过尾递归优化   事实上尾递归和循环的效果是一样的...,所以,把循环看成是一种特殊的尾递归函数也是可以的   尾递归是指,在函数返回的时候,调用自身本身,并且return语句不能包含表达式   例如,def fun(n) : retrun n*fun(n-...尾递归事实上和循环是等价的,没有循环语句的编程语言只能通过尾递归实现循环 Python标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题 使用示例: def fact(n):   return

    1.9K10

    【C语言】printf和scanf函数详解

    一、printf printf() 的作⽤是将参数⽂本输出到屏幕。...它名字⾥⾯的f代表format(格式化),表示可以定制输出⽂本的格式,并且它是一个库函数,要包含头文件,具体包含方式如下: #include printf最基本的用法...:用双引号直接引起需要输出的内容,比如: 如上图所示,用双引号将hello world直接引起就可以将其打印出来 占位符:函数printf() 可以在输出⽂本中指定占位符。...可以不用将所有写出的字符串中的字符打印出来,只打印部分字符,使用方法与限定小数位数相似,如: 这里就只打印了前五个字符hello,没有将所有字符打印出来 二、scanf 基本介绍:scanf() 函数...上⾯⽰例中,% * c 就是在占位符的百分号后⾯,加⼊了赋值忽略符*,表⽰这个占位符没有对应的变量,解读后不必返回,此时只需要使用printf函数打印时加上固定格式即可统一格式,即使中间的符号不对也不会出错

    2.3K10

    printf和scanf函数的基本认识

    printf函数 一,printf的意思 首先printf由print和f字母构成,printf是打印的意思而f则代表format(格式化)的意思。...所以合起来printf就叫格式化打印,知道这个函数的名字之后我们便可见其名知其意了 没错,在c语言中printf就是用来格式化输出数据的函数。...二,printf的格式输出 printf函数由printf(“”)括号,引号,控制符,参数构成。...上面printf函数里的%d就是格式占位符(格式控制符)它有两个名字分别有不同作用, 1格式控符:通常以%开头,它的作用是指定参数按照它所指定的格式来输出。...#include int n=123; printf("%5d\n", n); // 输出为" 123" printf("%-5d\n", n); // 输出为"123 " 讲完输出函数那必然就有输入函数下面我们来介绍一下输入函数

    43710

    Python 递归函数

    递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘 n!...于是,fact(n)用递归的方式写出来就是: 1 2 3 4 def fact(n): if n==1:   return 1 return n * fact(n - 1) 上面就是一个递归函数...))) ===> 5 * (4 * (3 * (2 * 1))) ===> 5 * (4 * (3 * 2)) ===> 5 * (4 * 6) ===> 5 * 24 ===> 120 递归函数的优点是定义简单...理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。 使用递归函数需要注意防止栈溢出。...在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。

    1.9K20

    尾递归函数

    怯懦的朋友在叛离之后,会成为最凶残的仇敌——埃·斯宾塞 中文文档 Kotlin 支持一种称为尾递归的函数式编程风格。 这允许一些通常用循环写的算法改用递归函数来写,而无堆栈溢出的风险。...当一个函数用 tailrec 修饰符标记并满足所需的形式时,编译器会优化该递归,留下一个快速而高效的基于循环的版本: val eps = 1E-10 // "good enough", could be...x) if (Math.abs(x - y) < eps) return x x = Math.cos(x) } } 要符合 tailrec 修饰符的条件的话,函数必须将其自身调用作为它执行的最后一个操作...在递归调用后有更多代码时,不能使用尾递归,并且不能用在 try/catch/finally 块中。目前在 Kotlin for JVM 与 Kotlin/Native 中支持尾递归。

    1.5K20
    领券