Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >printf函数的返回值!

printf函数的返回值!

作者头像
lexingsen
发布于 2022-02-24 07:20:05
发布于 2022-02-24 07:20:05
3.7K00
代码可运行
举报
文章被收录于专栏:乐行僧的博客乐行僧的博客
运行总次数:0
代码可运行

printf函数原型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int printf(const char * p,...);

返回值 返回值为整型,是输出字符的个数,即格式化字符串中字符的个数。

举例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int main()
{
    int count = printf("ni hao csdn,%d\n",111);
    //这里的格式化字符串包括逗号、空格、换行符、字母及数字共计16个字符
    printf("n = %d\n",n);
}

输出结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
n = 16;

一个面试题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int main()
{
    printf("%d\n",printf("%d\n",printf("hello!\n"))); 
}

这样的题目第一眼看上去有一点懵,其实它考的就是printf函数的返回值,及输出字符的个数。 输出结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//由内而外依次分析
printf("hello!\n");
//在屏幕上输出hello!并进行换行,其返回值为7。
printf("%d\n",printf("hello!\n"));
/*由上一步可以知道其实  printf("hello!\n") == 7 所以输出7并进行换行*/
printf("%d\n",printf("%d\n",printf("hello!\n")));
//尽管这一行很长,但是经过简化,他可以这样表示
printf("%d\n",2);
//因为printf("%d\n",printf("hello!\n"))的返回值为2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言函数大全--p 开头的函数
在上述的示例中,主线程调用了 pthread_create() 函数来创建一个新的线程,并传递一个函数指针 thread_func 作为新线程的入口点。新线程运行这个函数,并输出一条消息。主线程等待新线程结束,然后继续运行自己的代码。
huazie
2025/05/15
1210
C语言函数大全--p 开头的函数
按格式化方式读取文件------fscanf函数
其中fp为文件指针,format为C字符串,…为参数列表,返回值为成功写入的字符的个数。
大忽悠爱学习
2021/03/02
3K0
按格式化方式读取文件------fscanf函数
printf 和scanf 介绍-学习笔记
嘿,相信大家肯定对这两个函数不陌生吧!每次写代码都会用到它们。今天,就让我们来揭开它们神秘的面纱,看看它们到底有多厉害!
LonlyMay
2024/10/21
3650
printf 和scanf 介绍-学习笔记
配合格式化字符串漏洞绕过canary保护机制
我们知道,缓冲区溢出漏洞利用的关键处就是溢出时,覆盖栈上保存的函数返回地址来达到攻击效果。于是就有人就设计出了很多保护机制:Canary、PIE、NX等。本文讨论的就是若程序只开启了canary保护机制,我们该怎么应对?该机制是在刚进入函数的时候,在栈底放一个标志位canary(又名金丝雀):
FB客服
2020/05/14
1.2K0
配合格式化字符串漏洞绕过canary保护机制
printf()详解之终极无惑
printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。
恋喵大鲤鱼
2018/08/03
4.6K0
printf()详解之终极无惑
2. C语言 -- printf 的花式操作
(。・∀・)ノ゙嗨!大家好,我是呆博~很开心可以在这里给接着大家分享我的 C 语言学习笔记~因为微信对于代码块的支持并不是很好,所以代码部分以截图形式呈现,如果想获取原始代码可点击底部 阅读原文 获得。
谭庆波
2018/10/18
1.7K0
2. C语言 -- printf 的花式操作
C语言之printf浅析
printf ()是在标准库的头文件stdio.h定义的。使用这个函数之前,必须在源码文件头部引入这个头文件。
用户11328191
2024/10/23
2350
C语言之printf浅析
C语言:跨平台环境下使用snprintf,vsnprintf系列函数要注意返回值的问题
标准C语言函数snprintf,vsnprintf系列函数可以向指定的缓冲区输出格式化打印的字符串。 如果指定的缓存区足够大,那么调用正常,返回值就是写入缓存区的字节长度(不含结尾'\0') 那么缓存区不够大的情况呢? 本文要说的是这系列函数的在缓存区长度不足以输出所有内容时的返回值在不同一编译器提供的实现表现是不同的。 我们用如下一段简单的测试代码来验证其返回值表现。
10km
2021/11/11
2K0
C语言:跨平台环境下使用snprintf,vsnprintf系列函数要注意返回值的问题
C语言—scanf和printf的介绍
printf()的作用是将参数文本输出到屏幕。它的名字里的f代表format(格式化),表示可以定制输出文本的格式。
_孙同学
2024/10/21
2900
C语言—scanf和printf的介绍
C:02---scanf、printf
你以为你输出了helloworld就掌握了printf,来,我接着带你重新认识printf,我这个人比较爱刚代码,来看第一个代码:
用户3479834
2021/02/03
1.2K0
C++中的输入函数scanf使用方法详解
scanf函数是C和C++中常用的输入函数之一,可以从用户输入的标准输入流stdin中读取格式为指定类型的数据。其基本用法如下:
很酷的站长
2023/08/25
3K0
C++中的输入函数scanf使用方法详解
Golang语言(打卡第四天)fmt格式化工具|Go主题月
Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内容的结尾添加一个换行符。
微芒不朽
2022/09/13
8840
Shell编程从看懂到看开③(函数、echo、printf、test)
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
十八岁讨厌编程
2022/12/10
6770
printf 和 scanf 并没有这么简单
printf 函数我们在前几篇文章已经浅显的了解过,在本文中我们来全面的探讨一下它的具体用法和作用。printf()的作用是将参数文本输出到屏幕。它名字里面的 f 代表 format(格式化),代表可以定制输出文本的格式。
_小羊_
2024/10/16
1370
printf 和 scanf 并没有这么简单
java%f什么意思_浅析Java中print、printf、println的区别「建议收藏」
‘g’, ‘G’ 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
全栈程序员站长
2022/09/15
6970
【C语言】输入/输出函数详解
在C语言中,输入/输出操作是通过标准库函数来实现的。这些函数分为两类:标准输入输出函数和文件输入输出函数。为了使用这些函数,我们需要包含头文件stdio.h,即在代码的开头加入:
LuckiBit
2024/12/11
3060
【C语言】输入/输出函数详解
scanf函数的实战应用: 实例演示scanf函数在实际应用中的使用方法
在C语言中,scanf函数是一种常用的读取数据的方式,它可以按照我们预期的格式读取数据。为了让scanf函数更高效地工作,我们可以使用格式化字符串来限制输入的数据类型和长度。
曈曈too
2023/02/27
2.2K0
read函数的返回值问题
在学习socket编程的途中, 通过客户端给服务端发送字符串,然后服务端通过read或者recv来读取数据,然后返回读取的字节数. 我在想read返回的读取字节数有没有包含'\0'或者'\n'呢,于是通过一些简单的小例子,来看看实际情况到底如何.
全栈程序员站长
2022/06/25
2.8K0
Go 常用标准库之 fmt 介绍与基本使用
fmt 是 Go 语言中的一个常用标准库,它用于格式化输入和输出数据。fmt 包提供了一系列函数,可以帮助你将数据以特定的格式打印到标准输出(通常是终端)或将数据格式化为字符串以供后续处理。这个库的名称 "fmt" 来自于 "format",因为它主要用于格式化数据。
贾维斯Echo
2023/10/26
5630
Go-标准库-fmt(二)
fmt.Sprintf 函数和 fmt.Printf 函数类似,只是它返回一个字符串,而不是输出到控制台。其基本语法如下:
堕落飞鸟
2023/04/21
3090
相关推荐
C语言函数大全--p 开头的函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验