浅谈printf函数的返回值
来源:互联网 发布:网络造字 编辑:程序博客网 时间:2024/06/07 07:06
在一个群里看到这样一个题目:
#include <stdio.h>int main(){ int i = 0; for(i=0; i<10; i++) { if( printf("%d\n", i * i) > 2 ) { printf(" i = %d\n", i); } } return 0;}
下面附上输出结果:
最开始迷惑在这句话 if( printf("%d\n", i * i) > 2 ) 中的printf("%d\n", i * i),这玩意儿到底是多少?
百度了一下,printf的返回值是它输出的字符数.
比如printf("abcd\n"),这是printf返回的应该是5,因为有5个字符,分别是a,b,c,d,\n(注意\n是一个字符,转义字符)
printf("%d\n", i * i)这个函数返回的字符数由两部分组成:%d和\n。
如果%d代表的数字是100,那么%d就是3个字符,加上\n这个字符,一共4个字符,返回值为4。
i*i可能等于0,1,4,9,16,25,36,49,64,81,所以printf返回的字符可能是2个,3个。
1 0
- 浅谈printf函数的返回值
- 浅谈scanf和printf两个函数的返回值问题
- printf()函数的返回值
- printf函数的返回值
- printf函数的返回值
- printf 函数返回值
- scanf,printf函数的返回值
- printf函数返回值的含义
- printf和scanf函数的返回值
- scanf和printf函数的返回值
- C语言 printf函数的返回值
- 关于printf函数的返回值问题
- printf的返回值
- printf的返回值
- printf()的返回值
- printf的返回值
- 测试函数printf()返回什么东西的值
- printf()函数的返回值以及多态实现
- 疑问系列 sscanf,sprintf ,double转换成int时损失问题
- springmvc mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap
- 战网不能下载游戏
- java中MongoDB的简单应用实例
- 策略模式、上下文与内部类的思考
- 浅谈printf函数的返回值
- JAVA中的抽象类
- hdoj4810Wall Painting【组合数学+位运算】
- 优先深度搜索和广度搜索
- MCS_ACM DFS解题报告
- (一)spark学习笔记-开发环境
- 医院业务系统设计(三) --- 患者管理之预约系统
- 3 sums题解
- 连载《一个程序猿的生命周期》- 43.我被这个时代淘汰了吗? ---2016年开篇,春节祝福!!!