#define
に整数を使用すると、sprintf()
の中にあると考えられるのはdata type
だと、C99
にありますか?#defineの整数はどのデータ型ですか?
5
A
答えて
9
#define NUMBER1 100 /* int: use "%d" or "%i" in printf() */
#define NUMBER2 100U /* unsigned int: use "%u" in printf() */
#define NUMBER3 100L /* long int: use "%ld" or "%li" in printf() */
#define NUMBER4 100UL /* unsigned long int: use "%lu" in printf() */
/* C99 */
#define NUMBER5 100LL /* long long int: use "%lld" or "%lli" in printf() */
#define NUMBER6 100ULL /* unsigned long long int: use "%llu" in printf() */
注:UとLも小文字
注2にすることができ:Uは、LまたはLL
+1
非常に良い答え私はこれを知らなかった。 –
3
このリテラルのタイプはint
です。 %d
または%i
を使用してください。
NUMBER
は、プリプロセッサでコンパイルすると、文字どおり100
に置き換えられます。コンパイラが決してNUMBER
を見ることはないので、マクロであるという事実はコンパイラにとって何も意味しません。コンパイラは100
しか見ることができません。
2
の前または後にすべての#define
-dアイテムを来ることができる簡単なテキスト置換である:ことを想像100
ではなくNUMBER
識別子の中に貼り付けられます:
sprintf(buf, "%i\n", NUMBER);
// ^^^ It's sprintf, don't forget the buffer!
100
が整数リテラルであるので、あなたが%d
を使用する必要があります。
+0
あなたはそうです、私はsprintf()の変数を忘れました! –
関連する問題
- 1. Oracleマシンの整数データ型
- 2. 1つのバイトの整数データ型
- 3. C#ではどのような型が整数リテラルですか?
- 4. ビットマスクの整数型とビット(n)データ型に違いはありますか?
- 5. データ型の2つの整数型列の式
- 6. Elasticsearch:整数で最高のパフォーマンスを得る数値データ型
- 7. 10進数と整数のデータ型で 'Not Null'構文エラー
- 8. 整数型の類義語ですか?
- 9. 長整数型ではなく、整数型を整数に逆シリアル化できますか?
- 10. ココアタッチの中で最大の整数型データ型は何ですか?その数値はどれくらい大きくなりますか?
- 11. 整数型とlong型のJavaのビット演算子ですか?
- 12. フラグのデータ型はどれですか?
- 13. 整数型のデータ型がSQLへのlinqで動作しない
- 14. SQL Server 2008に整数値を格納する最小のデータ型はどれですか?
- 15. コラム "statement_dateは、" Date型のですが、式が整数型
- 16. intptr_tとは整数かポインタの型ですか?
- 17. なぜread()の戻り値の型は整数ですか?
- 18. 整数データ型フィールドの長さを制限する
- 19. データ属性は整数で
- 20. 整数データ型のhibernate detached criteriaでLIKEを使用するには?
- 21. CocoaのSOAP XMLの整数にはどのようなデータ型を使用しますか?
- 22. 整数型キャストの問題
- 23. 整数型の分割 - 結果は予測可能ですか?
- 24. Pythonでは、文字列のリストに整数を追加する場合のデータ型は何ですか?
- 25. 整数型の列をPythonでdatetime型に変換するにはどうすればいいですか?
- 26. は#defineで定義数
- 27. SQL 2008のデータ型 - 使用するデータ型はどれですか?
- 28. Oracle:バイナリ整数型
- 29. コアデータ整数に使用する整数型は
- 30. どのJNIデータ型ですか?
'sprintf("%i \ n "、100)'と同じではないでしょうか? –
Thumbのルール:マクロはテキストのコピー&ペーストです。 :) – Mysticial