这是C语言。这个代码是正确的,结果也是正确的。但我不理解为什么if会在循环4次后,才换行。我在单步运行后,发现代码中p-a[0]的是从1到4。但根据我的理解,a[0]是地址,p=a[0],那p也是地址,假设初始地址是2000,那p++应该是2004,2004-2000=4%4==0,那if函数应该在第二次循环就换行了,为什么会循环四次才换行。而且我把a的元素值改了,单步调试p会把数组的值拿来用,而p-a[0]还是从1到4。希望有大神能解答下。
1条回答 默认 最新
- benbenli 2021-05-08 23:10关注
你已经知道“假设初始地址是2000,那p++应该是2004”。
那么你也容易理解 执行一轮循环 p-a[0] 是1(数据单元差距)而不是4(地址数值差距)。所以是循环4轮才打印回车。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Python3.5 相关代码写作
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)