目录
1. 嵌套结构
2. Printf 函数返回值
在了解Printf 函数的返回值之前,先来了解下什么叫嵌套结构。
1. 嵌套结构
这里直接举个例子进行介绍:
strlen 函数计算字符串长度,显然打印的结果是 3
但是如果采用嵌套结构(简单来说就是在一个结构中存在着另外一个结构,一层嵌套着一层,要从最内层依次完成):
2. Printf 函数返回值
看以下这个例子:
该例子是建立在三层嵌套的基础上,进行三次 printf 打印之后的结果。
首先先分析这个结构,第三个printf函数,显然打印结果是 43;但是第二个 printf函数,我们不能天真的认为第二个 printf函数 打印 43;这里要注意 printf函数 的返回值,第二个 printf函数 是打印第三个 printf函数 的返回值。
通过 C语言函数库 可以查到,printf 函数的返回值定义为:
Each of these function returns the number of characters printed,or a negative value if an error occurs。
这些函数中的每一个都返回打印的字符数,如果发生错误则返回负值。
所以说,printf 函数的返回值是打印字符的数量(包括所有的数字、字母、标点符号、空格等)。
基于此,上述程序的结果就显而易见了:
首先,我们执行第三个 printf 函数,输出结果 43。返回 2;这个 2 的意思就是第三个 printf函数的返回值为 2,通过上述的学习,我们知道,printf函数返回值是打印字符的数量,43 对应字符数量为 2。
然后,我们执行第二个 printf 函数,第二个嵌套结构可以看成:printf("%d",2);输出最终结果 432。返回 1;
最后,我们执行第一个 printf 函数,可以看成 printf("%d",1);输出最终结果 4321;
这里输出的结果全是数字,可能不能很好的表明 printf函数的返回值是 数字、字母、标点符号、空格 所有的数量:
输出结果 7 的意思是:两个数字,一个逗号,两个空格,一个字符,一个换行符。