演習7ー1
問:次に示す各式の値を表示するプログラムを作成するとともに、各式の値を説明せよ。ここでnはint型の変数であるとする。
sizeof 1 sizeof(unsigned) – 1 sizeof n + 2
sizeof + 1 sizeof(double) – 1 sizeof (n+2)
sizeof – 1 sizeof((double) – 1) sizeof (n+2.0)
// Ex0701.c
#include <stdio.h>
int main(void)
{
int n;
printf("sizeof 1 = %zu\n", sizeof 1);
printf("sizeof +1 = %zu\n", sizeof + 1);
printf("sizeof -1 = %zu\n", sizeof - 1);
printf("sizeof(unsigned) -1 = %zu\n", sizeof(unsigned) - 1 );
printf("sizeof(double) -1 = %zu\n", sizeof(double) - 1);
printf("sizeof((double) -1) = %zu\n", sizeof((double) - 1));
printf("sizeof n+2 = %zu\n", sizeof n + 2);
printf("sizeof(n+2) = %zu\n", sizeof(n + 2));
printf("sizeof(n+2.0) = %zu\n", sizeof(n + 2.0));
return 0;
}
コメント
sizeof 1 = 4 1をsizeof表示している。
sizeof +1 = 4 +1をsizeof表示している。
sizeof -1 = 4 -1をsizeof表示している。
sizeof(unsigned) -1 = 3 int型のままなので1。
sizeof(double) -1 = 7 double型を1引いているので7。
sizeof((double) -1) = 8 double型から1引いているので8のまま。
sizeof n+2 = 6 Int型nのsizeofの値に2を足した値を表示している。
sizeof(n+2) = 4 int型nに2を足した値をsizeofで表示している。
sizeof(n+2.0) = 8 int型nに2.0を足した値をsizeofで表示している。
だと思う・・・自信ないです。
書籍情報
コメント