今天老师出了一个题目。
- 定义字符型变量x、整形变量y,双精度型变量z,输出这三个变量的地址。
我的代码如下
#include<stdio.h>
int main()
{
char x;
int y;
double z;
printf("%d\n%d\n%d\n",&x,&y,&z);
return 0;
}
输出如下
想请问一下,为什么char和int之间的差值不是char类型的字节数1?int和double之间的地址差值不是int类型的字节数4?
今天老师出了一个题目。
我的代码如下
#include<stdio.h>
int main()
{
char x;
int y;
double z;
printf("%d\n%d\n%d\n",&x,&y,&z);
return 0;
}
输出如下
想请问一下,为什么char和int之间的差值不是char类型的字节数1?int和double之间的地址差值不是int类型的字节数4?