size_t
として宣言されてunsigned int
いるため、負の値を表すことはできません。
ではssize_t
、署名されたタイプのsize_t
権利はどれですか?
これが私の問題です:
#include <stdio.h>
#include <sys/types.h>
int main(){
size_t a = -25;
ssize_t b = -30;
printf("%zu\n%zu\n", a, b);
return 0;
}
なぜ私が得たのか:
18446744073709551591
18446744073709551586
結果として?これは符号なし型であるため可能である可能性があること
を私は知っていますが、なぜ私は??でも間違った結果を得たのですか?size_t
ssize_t