これらの特定のケースのそれぞれで出力が異なる理由を調べるのに問題があります。サンプルコードAで、私は期待どおり変数プロモーションと結果があるそれは> 6
だが、サンプルコードBで、結果は<= 6
です:Cの可変プロモーション
/* **Code a** */
puts("Code a\n");
unsigned int a = 6;
int b = -20;
(a+b > 6) ? puts("> 6\n") : puts("<= 6\n");
/* **Code b** */
puts("Code b:\n");
uint8_t a1 = 6;
int8_t b1 = -20;
(a1+b1 > 6) ? puts("> 6\n") : puts("<= 6\n");
出力:
Code a
> 6
Code b:
<= 6
に見てみましょう:[unsigned int型と署名したint型のCの式ではどのようなタイプにプロモートされるタイプ、存在している?](http://stackoverflow.com/questions/2280663/in-ac-expression私はそれはあなたを助けることを願っています )現在のint-ある-署名符号なし整数-と--where-型-意志。 – Missu
テキスト出力用の画像を提供していますか?この質問を開いたときに自動的に読み込まれますか?その後ろにトラッカーがありますか?)このような場合には、カットアンドペーストを使用してください。 –
基本的な、まだ十分に形成され、ポストの良い例:クリアタイトル、明確な難易度の文、サンプル・コード、出力、予想される出力、良いタグ。 – chux