#include <stdio.h>
int main()
{
int answer;
printf("Please insert your desired budget :"); //normal printf functions.
printf(" $_____\b\b\b\b"); //This should move the curser back 4 spaces.
//The program outputs the line followed with 4 inverted question marks.
scanf("%d", &answer);
printf("So your budget is %d", answer);
return 0;
}
为什么输出是4个倒置问号?我在Mac上使用xcode,可能是问题吗?
答案 0 :(得分:3)
您需要在支持\b
转义序列的终端环境中运行它。 Xcode中的控制台一定不能理解它们。
如果你在终端应用程序中运行它,它应该没问题。
答案 1 :(得分:1)
书中有一个例子[C Primer Plus] 6th Page.91
list3.10 escape.c
/* escape.c -- uses escape characters */
#include <stdio.h>
int main(void)
{
float salary;
printf("\aEnter your desired monthly salary:");/* 1 */
printf(" $_______\b\b\b\b\b\b\b"); /* 2 */
scanf("%f", &salary);
printf("\n\t$%.2f a month is $%.2f a year.", salary,salary * 12.0); /* 3 */
return 0;
}
作者说:
实际行为可能不同。例如,XCode 4.6将\ a,\ b和\ r \ n字符显示为颠倒的问号!
他们显示Xcode不支持\b
Apple Apple Support Communities也显示了这种情况。
在我的Xcode 5.0中,它具有相同的情况。