- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给出一小段代码为:
int a[5];
printf("%u\n",&a[3]-&a[0]);
printf("%u",&a[0]-&a[3]);
现在,地址减法的第一行输出按公式计算((addg-增加)/数据类型的大小),其中,addg大于adds。
3
4294967293
第一行输出(即3)是显而易见的,但是第二输出的含义是什么?或者从较小的地址减去较大的地址(即加-addg)时会发生什么?
最佳答案
代码中的问题是您的行为不确定。不是因为指针运算,而是因为您正在使用%u
格式说明符打印带符号整数。更改为%td
格式(使用t
指定“指针差异”类型),您将看到更有意义的结果:
#include <stdio.h>
#include <stddef.h>
int main()
{
int a[5];
printf("%td\n", &a[3] - &a[0]); // Shows "3"
printf("%td", &a[0] - &a[3]); // Shows "-3"
return 0;
}
从这个
C11 Draft Standard(第
部分6.5.6 第9段)中(粗体显示):
When two pointers are subtracted, both shall point to elements of thesame array object, or one past the last element of the array object;the result is the difference of the subscripts of the two arrayelements. The size of the result is implementation-defined, and itstype (a signed integer type) is
ptrdiff_t
defined in the<stddef.h>
header ...
关于c++ - 在C/C++编程中,从较小的地址减去较大的地址时,输出指示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62991680/
我正在通过 PHP 将 .csv 中的两行插入到表中。 我还会跟踪任何错误,如果发生错误,我不会提交事务。插入表后,我检索结果行的 ID(全部在一个事务中提交),并且 csv 的第一行对应于第二个 I
一个应用程序托管一个具有三个接口(interface)的 Web 服务,用于三个单独且独立的操作,所有这些操作都在应用程序的不同组件中实现,彼此独立,例如在不同的包等中,所以他们对彼此了解不多,只共享
我希望在单击特定表格数据单元格时同时选中单选按钮和单选按钮单击事件。我已经使用以下方法实现了这一点: $(document).ready(function() { $("td").click(
JSFiddle:https://jsfiddle.net/oyp1zxaq/ 本质上,我只是想在较大的 div 中放置四个具有定义宽度的较小 div,但我希望它们在其中间隔开。 我想知道是否有一种方
我在一个布局中有两个 View 。我将分别称它们为 View A 和 View B。 ┌──────┐ │┌─┐┌─┐│ ││A││B││ │└─┘└─┘│ └──────┘ 父布局(包括View A
我是一名优秀的程序员,十分优秀!