C语言的调试利器 - printf 大法,无坚不摧,攻无不破( 二 )


文章插图
 
通过测试例子,可以知道:
(1) %x格式,把变量x存放的数据值,以十六进制格式输出,如果输出十六进制有字母,则以小写格式表示 。
(2) %X格式,就是大写的X字母,以十六进制格式输出变量x的值,如果输出的十六进制有字母,则以大写格式表示 。
(3) %o格式,是以八进制格式输出数值 。
4 浮点数格式转换符有:
(1) %f --- 以浮点数的格式输出数值,就是带小数点的数据;
(2) %e --- 以科学计数法e的方式输出浮点数;
如下是程序测试例子:

C语言的调试利器 - printf 大法,无坚不摧,攻无不破

文章插图
 
程序运行的结果如下:
C语言的调试利器 - printf 大法,无坚不摧,攻无不破

文章插图
 
通过测试例子,可以知道:
(1) %f格式,输出带有小数点的浮点数;
(2) %e格式,以科学计数法e的方式输出浮点数的值,例如上面的例子中,输出:
x1 = 1.250000e+01
根据科学计数法e的表示格式,e字母后面带数值N表示10的N次方 。那么,1.250000e+01这个数值中,e字母后面带有数值1,表示10的1次方 。所以有:
1.250000e+01 = 1.250000 * 10^1 = 1.250000 * 10 = 12.5
所以对于x这个数值,使用%f, %e格式表示,都是相同的值 。
5 转移字符转移字符格式有:
(1) n --- 换行;
(2) t --- 水平跳格,如同按下TAB按键;
(3) r --- 回到当前行的开始位置;
(4) ’ --- 输出单引号;
(5) ” --- 输出双引号;
(6) \ --- 输出一条反斜杠;
如下是程序测试例子:
C语言的调试利器 - printf 大法,无坚不摧,攻无不破

文章插图
 
程序运行的结果如下:
C语言的调试利器 - printf 大法,无坚不摧,攻无不破

文章插图
 
其中,注意:
printf("abcwwwr123n");
开始在新的一行输出 abcwww,然后,遇到 r 的时候,回到行的开始位置,就回到字符a这个位置,然后,再输出123,此时,新输出的123字符就把abc字符给覆盖 。最终,输出123www这样的字符 。




推荐阅读