0

私はCヒープソートコードを読んでいて、これに遭遇しました:

 do{
    printf("\n\t\t1:INSERT\n");
    printf("\n\t\t2:SEARCH\n");
    printf("\n\t\t3:DELETE\n");
    printf("\n\t\t1:DISPLAY\n");
    printf("Enter your choise\n");
    scanf("%d",&choise);
    switch(choise)
    {
        case 1: printf("Enter value to insert\n");
                scanf("%d",&val);
                last=insert(root,val);
                break;
        case 2:printf("Enter value for search \n");
                scanf("%d",&val);
                search(root,val);
                break;
        case 3:delete(root);
                delete(last);
                break;
        case 4:printf("\n\tHEAP\n");
                display(root);
                break;
        default : printf("INVALID choise ... can't you see properly?\n");

    }

\t1誰もが何を知ってい\t2printf、どのように機能するのですか? 私はグーグルを試しましたが、有用な情報は得られませんでした。ありがとうございました。

4

5 に答える 5

6

\tタブ文字を表します。12は関係ありません。それらは文字通りの1and2です。

于 2011-12-24T19:18:53.950 に答える
1

\tとは関係がないため、どのprintfドキュメントにも についての言及はありませんprintf。これは文字列リテラルの構文の一部であり、その前にある に似て\nいます。 \n改行文字を示します。\tタブ文字を表します。 コンパイル時に置き換えられる文字を表示printfすることさえありません。'\'改行文字とタブ文字が表示されるだけで、%...シーケンスの一部ではない他の通常の文字と同様に扱われます。(これらの特定の文字には何らかの特別な扱いがあるかもしれませんが、それは によって呼び出される下位レベルのルーチンによって行われますprintf。)

And\t1は、タブ文字の後に数字が続くことを示します1

(余談: Unix ライクなシステムには、シェル プロンプトから使用されるprintf commandprintfがあり、C関数と同様に動作します。\シーケンス自体を処理します。)

于 2011-12-24T20:11:48.517 に答える
0

\tタブです。タブ文字を印刷してから、印刷します1。やっているようなもの/n1です。行を残してから印刷することを意味します1

\t  -----> I am a tab character that prints spaces.

1   -----> I am a number.

私たちはどちらも単一のキャラクターではありません。

\t1 -----> Print tab character and then print 1. 

\t2 -----> Print tab character and then print 2. 

今それを取得しますか?

于 2011-12-25T02:03:20.487 に答える
0

指定子\tは、タブ文字である だけです。数値は、出力されるリテラルの一部です。

于 2011-12-24T19:19:28.490 に答える
0

\t水平タブを印刷するためにのみ使用されます。番号はそのまま印刷され、 の一部ではありません\t。すなわち:

printf("\n\t\t1:INSERT\n");
printf("\n\t\t2:SEARCH\n");
printf("\n\t\t3:DELETE\n");
printf("\n\t\t1:DISPLAY\n");
printf("Enter your choise\n");

次のようなものが出力されます。

    1:INSERT

    2:SEARCH

    3:DELETE

    1:DISPLAY
Enter your choise
于 2011-12-24T19:19:57.287 に答える