printf函数:
原型:extern void printf(const char *format,...); 用法:#include <stdio.h> 功能:格式化字符串输出 说明:format指定输出格式,后面跟要输出的变量 目前printf支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十六进制数 %% 输出百分号% 一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾书及左对齐等: - 左对齐 在一个带符号数前加" "或"-"号 0 域宽用前导零来填充,而不是用空白符 域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的, 给出每个转换说明符所要输出的字符个数。下面这个例子运行以后自己看了好久都没有看懂:
================================================== #include<stdio.h>int main(){
int i = 43;
printf("%d\n",printf("%d",printf("%d",i)));
getch(); }结果输出为:4321
=================================================================================== printf()返回的是一个int值,表示打印的字符数,最里面的一个printf()输出为×××数43,字符长度为2,这个printf()作为第二个printf()中的一个参数,第二个printf()将会输出×××数43的字符长度2,同样第一个输出×××数2的字符长度1,所以运行结果为4321。下面这个例子很好的说明:
#include<stdio.h>int main(){
int a;
int b; int c; int i = 123456;
printf("\n=======此部分输出不用管=============\n");
a = printf("======%d",i); b = printf("********%d",printf("%d",i)); printf("\n=======此部分输出不用管=============\n\n\n");printf("********************************************************************");
printf("\n第一个printf结果:"); printf("%d",a); printf("\n第一个printf语句中输出6个等号和123456,字符长度总共为12"); printf("\n===================================================================="); printf("\n第二个printf结果:"); printf("%d",b); printf("\n第二个printf输出8个星号和他紧后面printf输出结果的字符长度1,总共为9"); printf("\n**********************************************************************");getch();
}运行结果: