3
#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を使用していますが、それが問題でしょうか?

4

2 に答える 2

4

\bエスケープ シーケンスをサポートする端末環境で実行する必要があります。Xcode のコンソールはそれらを理解してはなりません。

ターミナル アプリで実行すると、問題ないはずです。

于 2013-03-28T17:19:40.083 に答える
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 の文字が逆さまの疑問符として表示されます。

彼らは、Xcode が をサポートしていないことを示して\b おり、Apple Apple サポート コミュニティも状況を示しています。

私のXcode 5.0では、同じ状況があります。 ここに画像の説明を入力

于 2014-01-02T08:05:18.467 に答える