我在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)
有人可以评论该代码,所以我知道发生了什么?或者,如果您有与注释代码类似的练习的链接,我可以从中学习,这将是伟大的.
当我尝试编译它时(我试图理解##在这里做了什么),我得到一个错误说:"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中的宏:
#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');