Sea Think 2020-12-29 12:46 采纳率: 0%
浏览 9

一个有关C语言学习中地址的问题

今天老师出了一个题目。

  1. 定义字符型变量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?

  • 写回答

1条回答 默认 最新

  • JysinWee 2020-12-29 19:11
    关注

    没人说他们仨咋内存中必须是挨着的啊。

    评论

报告相同问题?

悬赏问题

  • ¥15 vs code配置c语言遇到这个问题
  • ¥15 vscode调试编译找不到gcc,只有cl,但是检查cmd是对的,控制面板的路径也更改了
  • ¥15 FlycoRoundView引入失败
  • ¥20 access中怎么分割分别获取一下图中的值
  • ¥15 keras_tcn已经安装成功,还是显示ModuleNotFoundError: No module named 'keras_tcn'
  • ¥15 类图中关联与聚合的区别
  • ¥15 ENVI高分五号去除云层的方法
  • ¥15 16进制数据如何得到奇偶校验位
  • ¥15 求合并两个字节流VB6代码
  • ¥15 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?