相关疑难解决方法(0)

+ =(加上相等)如何工作?

我对+ =符号有点困惑.它是如何工作的?

  1. 1 += 2 // 等于 ?

  2. 还有这个

    var data = [1,2,3,4,5];
    var sum = 0;
    data.forEach(function(value) {
        sum += value; 
    });
    sum = ?
    
    Run Code Online (Sandbox Code Playgroud)

javascript

49
推荐指数
5
解决办法
11万
查看次数

gcc标准标题中有这么多括号

为什么GCC头文件中的常量表达式被括号括起来,像这样?

#define INTMAX_MIN (-9223372036854775807LL)
#define INTMAX_MAX (9223372036854775807LL)
Run Code Online (Sandbox Code Playgroud)

如果我省略括号,这会有什么不同?

#define INTMAX_MIN -9223372036854775807LL
#define INTMAX_MAX 9223372036854775807LL
Run Code Online (Sandbox Code Playgroud)

为什么有'L'后缀?如果我写以下内容会是一样的吗?

#define INTMAX_MIN -9223372036854775807
#define INTMAX_MAX 9223372036854775807
Run Code Online (Sandbox Code Playgroud)

是否有实际用途或者总是相同的东西?

我知道'L'代表很长时间,我也很清楚C宏中括号的重要性; 我是为了好奇而问这个.

c macros gcc

44
推荐指数
3
解决办法
2096
查看次数

浮点数除法给出不同的结果

我正在尝试在 C 中使用浮点数执行除法。为了演示我的意思,您可以运行以下代码。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define TEST 20.0 / 65536.0

int main() {
    float a = 11.147;
    printf("%f\n", a);

    float b = 20.0 / 65536.0;
    printf("%f\n", b);

    float c = a/b;
    printf("%f\n", c);

    int d = (int) c;
    printf("%d\n", d);
    
    float e = a/(float) TEST;
    printf("%f\n",e);

    printf("%f\n", TEST);
    
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了以下结果

11.147000
0.000305
**36526.492188**
36526
**0.000009**
0.000305
Run Code Online (Sandbox Code Playgroud)

我突出显示的值应该是相同的,因为它是相同公式的结果。唯一的区别是我用来#define定义后者的除数,这给出了错误的值。

我不知道为什么会发生这种情况,有人可以解释一下为什么我会得到这个结果吗?谢谢。

c

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

“ #define BUF 8”和“ #define BUF(8)

之间的区别(如果有):

#define BUF (8)

#define BUF 8

我对c编程不太有经验,从来没有见过#define只有1个数字,而且没有将其放在方括号中。

PS:使用gcc -m32标志在64位linux系统上编译代码。因此,最终的二进制文件是32位ELF可执行文件。

c

2
推荐指数
2
解决办法
107
查看次数

#define(整数)有什么作用?

当然是一个重复,我会尽快删除它我会遇到一个答案。我就是找不到我要找的东西。

这两行c是什么意思?

#define NN_DIGITS     (  4)
#define MM_MARKS_DONE (255)
Run Code Online (Sandbox Code Playgroud)

我知道什么#define#define ()做什么,在哪里#define ()执行宏(),但我不知道这个特殊的警告(使用整数)。

写下来()定义一个整数值实际上是多余的吗?应按位解释这些值吗?如果我们不写会发生什么()。4 和 255 会被当作一个字符串吗?

c

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

为什么"#define EOF(-1)"而不只是"#define EOF -1"

我正在使用Visual Studio 2015来学习一些基本的C.在尝试使用EOF符号常量时,我​​决定查找它的定义,这就是我发现的:

#define EOF (-1)
Run Code Online (Sandbox Code Playgroud)

我虽然将-1括在括号中是有点奇怪,所以我决定创建自己的-1符号常量,所以我做了以下内容:

#define ABC -1
Run Code Online (Sandbox Code Playgroud)

在调试器中,EOF和ABC都显示为值-1,所以我开始想知道,为什么EOF定义用于(-1)表示-1何时不需要括号?

谢谢.

c

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

标签 统计

c ×5

gcc ×1

javascript ×1

macros ×1