小编ran*_*pos的帖子

C语言中的宏问题

我在C语言中遇到了麻烦.我尝试阅读一些材料,但它已经过了我的脑海.

例如:

#include <stdio.h>

#define A(x) ((x)?-1:0)

int main()
{
    int i = 2;
    int i2 = A(i)*i;
    printf("%d", i2);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人可以评论该代码,所以我知道发生了什么?或者,如果您有与注释代码类似的练习的链接,我可以从中学习,这将是伟大的.

c macros c-preprocessor

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

GCC(代码块)的奇怪编译器错误

当我尝试编译它时(我试图理解##在这里做了什么),我得到一个错误说:"i2未声明".我没有这个名字的变量,这是我的所有代码.

#include <stdio.h>


#define A(x,y) x##2-y


int main()
{
    int i = -1;
    int j = -2;
    printf("%d \n", A(i,j));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c macros

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

C语言中的宏问题

我还在试图找出C中的宏:

#define A(x) #x

int main()
{
    int i = -i;
    char *s = A(i);

    i = -(s[0] == 'i');

    printf("%d", i);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

任何人都喜欢启发我并评论代码,尤其是宏的作用和这一行: i = -(s[0] == 'i');

c macros

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

标签 统计

c ×3

macros ×3

c-preprocessor ×1