1
私はCプログラミングから始めていますが、符号なし 変数の使用についてはわかりません。 私はuint8_tが符号なし8ビット整数型であることを知っています。つまり、負であってはならないことを意味します。したがって、8ビットすべてが正の数になっていれば、0から255までの数値を表します。 しかし、私はこれを書く:なぜuint8_t配列を印刷すると、異なる値が表示されるのですか?
int main() {
uint8_t value [4];
printf("\nvalue:\t%" PRIu8 "", value[0]);
printf("\nvalue:\t%" PRIu8 "", value[1]);
printf("\nvalue:\t%" PRIu8 "", value[2]);
printf("\nvalue:\t%" PRIu8 "", value[3]);
printf("\n");
}
私は私が作ったたびに異なる結果を得る:./test:
[email protected]:~/Desktop$ ./test
value: 48
value: 99
value: 13
value: 193
[email protected]:~/Desktop$ ./test
value: 176
value: 76
value: 71
value: 0
[email protected]:~/Desktop$ ./test
value: 64
value: 13
value: 5
value: 175
私は値が異なる番号を取得するのはなぜ[x]は?
の可能性のある重複(HTTP [どのように初期化されていない変数がランダムな値を取得するのですか?] ://stackoverflow.com/questions/17216663/how-does-an-uninitialized-variable-get-a-random-value) – Gerhardh
'static uint8_t ...' :)しかしそれは別の話です(適切な答えは飛んでいます)。 – 0andriy
upvoted答えですが、あなたは印刷されると期待される値を言っていませんでした。 –