小编jfx*_*fxu的帖子

为什么int和float的总和是int?

请考虑以下代码:

float d  = 3.14f;
int   i  = 1;
auto sum = d + i;
Run Code Online (Sandbox Code Playgroud)

根据cppreference.com,i应该在float添加时转换为d.但是,当我实际运行代码时,我发现它sum是4.为什么会发生这种情况?

有趣的是,当我明确地将我的编译器放入C11模式时,我发现它sum是4.14.C11标准有哪些规则会影响结果?

如果我使用C++编译器编译相同的代码会发生什么?

c c++ type-conversion

45
推荐指数
2
解决办法
1万
查看次数

为什么堆栈和堆都增长?

我写了这样的代码

int a = 0;
int b = 0;
int *m = (int *)malloc(2* sizeof(int));

printf("%x, %x\n", &a, &b);
printf("%x, %x", &m[0], &m[1]);
Run Code Online (Sandbox Code Playgroud)

得到结果:

46372e18, 46372e1c
d062ec20, d062ec24
Run Code Online (Sandbox Code Playgroud)

这不是堆栈增长和堆积?

c memory

1
推荐指数
1
解决办法
127
查看次数

如何在clojure中从vector中连续删除重复值?

我想从clojure中的vector中删除连续重复的值

input?[1 1 1 2 2 1 1 3 3]

output?[1 2 1 3]
Run Code Online (Sandbox Code Playgroud)

怎么实现呢?

clojure

-1
推荐指数
1
解决办法
143
查看次数

标签 统计

c ×2

c++ ×1

clojure ×1

memory ×1

type-conversion ×1