/*12.c--转义序列*/
#include<stdio.h>
int main()
{
float salary;
printf("\aEnter you desired monthly salary:");
printf(" $________\b\b\b\b\b\b\b\b");
scanf("%f",&salary);
printf("\n\t$%.2f a month is $%.2f a year.",salary,
salary*12.0);
printf("\rGee!\n");
return 0;
}
在我看来,转义序列有两种功能,一个是打印一些常规打不出来的字符,例如\(这些字符被作为printf()命令的一部分,在字面上会造成混乱);另一个改变系统的活动位置,就是移动光标。上述程序中,\b使得光标向前移一个位置,7个\b使得光标移到$符号的后面,输入的salary数据则会代替______;我在书后练习题第7题中用到\b,这样输出的身高后就带有单位cm。
printf("Input you height:___cm\b\b\b\b\b");
scanf("%d",&h);
\n是换行,\t是移到下一个水平制表符的位置(1,9,17,15等)。\r是将活动位置移到当前行的起始位置。程序的运行结果:
Enter you desired monthly salary: $2400.000
Gee! $2400.00 a month is $28800.00 a year.
另外,可以定义char变量的方法,使用这些序列。
例如:char nerf=’\n’;
打印变量nerf在屏幕就会显示换行。