2011-01-23 10 views
3

文字列 "%5d"をCにどのように表示しますか? %の前にバックスラッシュを入れてみましたが、印刷されず警告が表示されます。私はグーグルを試みたが役に立たなかった。私はこれがあまりにも広すぎて、特定の答えを見つけることができないと思う。Cに "%5d"をどのように表示しますか?

#include <stdio.h> 

int main(void) 
{ 
    int test = 40; 
    printf("\%5.1d %5.1d", test); //this is the one 
    printf("%5.1d", test); 
    return 0; 
} 

ヘルプがありますか?

答えて

10

%を試してみてください。printf("%%"); printf("%%5d") -

これは

printf("%%5.1d %5.1d", test); 
+0

最後に、ありがとう! – CyberMew

+2

@Cyber​​Mew:その答えがあなたのために働いて助けてくれたら、あなたはそれを「同意する」べきです。つまり、あなたの質問に答えます。回答ボックスの緑色のチェックマークをクリックすると、これを行うことができます。 –

2

使用ダブル%に動作します。他の二つの代替として

2

(少なくとも)完全に正しい答え、あなたもこのようfputs()を使用することができます:私は出力に改行を追加しました

#include <stdio.h> 

int main(void) 
{ 
    int test = 40; 
    fputs("%5d ", stdout); 
    printf("%5.1d\n", test); 
    return 0; 
} 

注意。これは、改行を出力するまで出力が端末にフラッシュされないので重要です。 puts()は放出したくない改行を放出するので、私はfputs()であり、puts()ではないことに注意してください。

しかし、機能の両方printf()scanf()家族で本当%を%をダブル使用しての一般的な解決策を知ることは、将来のために良い代わりにあなたを立ちます。

2

あなたができることprintf("%s", "%5d") :)これはラウンドアバウトのようなものだと分かりますが、他の回答に記載されているものは良いですが、これについて言及するだけでも可能です。

+0

ああ、うれしいことは知っている...ありがとう! – CyberMew

関連する問題