1

C++ プログラムを c に変換しています。これは単純な階乗関数です。関数がそれ自体を呼び出すたびにスペースを減らすために、C++ プログラムで興味深い方法を使用しました。これは次のようになります。

cout << setw( number * 3 ) << "" << "number is: " << number << endl;

私が望んでいたほど簡単にcに翻訳されていません。私の考え(おそらく間違っている)は

char c = "";
printf( "%*c number is: %lo\n", number * 3, c, number);

次のようなエラーが表示されます:警告: 初期化により、キャストなしでポインタから整数が作成されます [デフォルトで有効]

cでこれと同じ効果をどのように達成しますか? 私は C++ で実装した方法が本当に気に入ったので、同様の方法で実装したいと考えています。

4

3 に答える 3

0

cでこれと同じ効果をどのように達成しますか?
何かのようなもの:

printf("%s: %d", "The number is", number * 3"; 

スペースは printf ステートメントに編集できますが、char 配列のスペースが必要な場合は、次のようにできます。

char c[]={" "};

printf("%s:%s%d", "The number is", c, number * 3"; 
于 2013-09-27T16:57:20.047 に答える