整数が引数として渡されたときに返される空の値を取得するには、整数にどの値を割り当てる必要がありますか?printf
整数にnull値を割り当てても、0が出力されます
誰かがこれを達成するために何ができるかを提案できますか?
ありがとうございました
ゼロの場合、printf の %d を空白にする修飾子はありません。ただし、数値出力でゼロを空白で出力したい場合、特に多くがゼロである数値の表を出力したい場合があります。このタスクに printf を使用するように設定した場合は、次の調整を行って、int 値がゼロの場合に空白を許可することができます。
1 for (int i = 0; i < STOCKS; i++) {
2 char cur_str[4] = " ";
3
4 if (current_price[i]) sprintf(cur_str, "%+3d", current_price[i]);
5
6 printf(pcb[i+4], "%-15s%4d %4s %4d",
7 stocks[i], ph[year-1][i], cur_str, ph[year][i]);
8 }
逆算: 6 行目から 7 行目は、現在の価格が %4s オプションと対応するcur_str引数を使用して 3 番目の列に表示される printf ステートメントです。
行 4 は現在の価格がゼロでないことを確認し、sprintf を使用して、現在の価格がゼロでない場合に適切に調整された現在の価格を生成し、cur_strに格納します。
行 2 は、デフォルトで cur_strを 4 つのスペース (列の幅) に設定します。
「空白の値」は (空の) 文字列であり、空白の値になる整数はありません。