- 论坛徽章:
- 0
|
转义字符使用实例
来源:
蚂蚁的 C/C++ 标准编程
作者:antigloss 等级:一般
发布于2006-01-22 17:15 被读2517次 【字体:
大
中
小
】
下面这个例子演示了 \a、\b、\t、\r,以及 \n 的作用。其中 \b,\t 和 \r 的概念可以追溯到电脑仍然使用打字机作为输出设备的时候,所以对于现代的一些电脑来说,它们可能不起作用。在某些麦金托什机(Macintosh)上,它们的作用就和我们下面所说的不一样。首先请认真看一下以下程序,然后编译运行一下,看看运行结果和您想象的是否一样,然后再看后面的详细解说。
/* esc_sq.c -- 使用转义字符 */
#include >
int main(void)
{
float height;
printf("\aPlease enter your height: _____ cm\b\b\b\b\b\b\b\b");
scanf("%f", &height);
printf("\tYour height is %.2f.\rOh!\n", height);
return 0;
}
第一个 printf 通常会引起一声鸣响(\a),同时显示以下提示
Please enter your height: _____ cm
其中活跃位置(光标)在下划线的开端。活跃位置之所以会位于下划线的开端,是因为那八个 \b 把活跃位置后退了八个位置。顺带一题,下划线 _____ 由五个 _ 构成。注意:一般来说,\b 不会擦除前面输出的字符,但是在某些系统,\b 却会擦除前面输出的字符,导致显示结果为 Please enter your height: 。\a 产生的效果取决于硬件。一般来说,输出 \a 会产生鸣响。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。
输入一个数后(比如输入 180.5),屏幕的显示会变成
Please enter your height: 180.5 cm
我们输入的数字取代了原来的下划线。接着我们需要按回车确定我们的输入。按下回车键后,
活跃位置会移动到下一行的开端。
第二个 printf 运行结束后,屏幕显示如下:
Please enter your height: 180.5 cm
Oh! Your height is 180.50.
这是因为 \t 使活跃位置向后移动了若干个位置(通常是八个),然后输出
Your height is 180.50. 。接着 \r 使活跃位置返回当前行的开端,然后输出 Oh! ,
最后 \n 引起换行。
参考资料:C Primer 5th Edition
C99 标准
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11176/showart_395514.html |
|