66问答网
所有问题
当前搜索:
c语言宏可以用中文吗
C语言 宏
定义变字符串问题
答:
宏
不是函数,顶多
可以用
有参宏,但宏绝不是函数,宏,说白了,它的作用就是代码字面上的替换 define FUN() “ !
C
*!D+A*!B*!D+!A*B*!C+A*B*C*D ”char *str=FUN();就完全等价于char *str=“ !C*!D+A*!B*!D+!A*B*!C+A*B*C*D ” ;
C语言中
的
宏
定义有什么用?
答:
又比如数组,定义时是不
能
出现“int a[n];”这样的定义的,编译通不过,因为必须规定数组长度。但如果是:define N 10 int a[N];就
可以
,对
宏
定义编译器是不作检查的,应为宏定义只是简单的符号替换。所以一旦我还没有确定要定义多长的数组,但又想通过编译时,就可以提现宏定义的用处了。如此看...
c语言宏
定义函数如何调用(里面含参数
可以
当函数
用吗
)
答:
直接调用即可。如下示例:include<stdio.h>#define sum(b,
c
){int d=0;d=b+c;printf("两者的和:%d\n",d);}int main(){ int x=0,y=0; scanf("%d%d",&x,&y); sum (x,y); return 0;}
C语言宏
问题
答:
如果你非要
使用宏
来处理这个问题,建议你将实参也用a,b,
c
.将#define S X(a,b,c) 屏掉再替换AREA的宏 define AREA(a,b,c) sqrt(X(a,b,c)*(X(a,b,c)-a)*(X(a,b,c)-b)*(X(a,b,c)-c)) 也
可以
处理 希望对你有用!补充:#define PI 3.1415926 define S(r) PI*r*r 这...
C语言 宏
定义
答:
宏替换是原样替换,不会自动增加括号什么的,所以这里的 S(x+y)被替换成P*x+y*x+y,结果是3.5*2+3*2+3=16.但这里的16是浮点型,所以用%4d来显示的话会错误的显示0,应该用%f来显示
c语言 宏
定义的问题
答:
我们
可以
看看
宏
的展开结果: (a++)*(a++),如果a的值是4,我们得到的结果是5*6=30。而我们期望的结果是5*5=25,这又出现了问题。事实上,在一些
C
的库函数中也有这些问题。例如: Toupper(*pChar++)就会对pChar执行两次++操作,因为Toupper实际上也是一个宏。这段话本身就错了,TABLE_MULTI(a++)...
C语言中
,
宏
定义是不是C语句?
答:
在
C语言中
,宏定义不是C的语言。解释如下:宏属于C语言的预处理功能,在编译之前要替换到程序中。预处理就是在编译之前进行的操作。C语言的语句都是以分号结束,而预处理后面不能有分号;
宏可以
分成不带参数的宏和带参数的宏两种。
如何在
C语言中用
宏来判断当前编译器?
答:
可以使用
该
宏
进行条件编译。2、__GNU
C
__ 的值表示gcc 的版本。需要针对gcc 特定版本编写代码时,也
可以使 用
该宏进行条件编译。3、__GNUC__ 的类型是“int”三、预定义宏"__MINGW32__"1、MinGW编译器 四、symbian sdk 预定义宏:symbian 平台,定义"__SYMBIAN32_"3rd MR 版及之前的...
c语言宏
定义函数如何调用(里面含参数
可以
当函数
用吗
)
答:
直接调用即可。如下示例:include<stdio.h>#define sum(b,
c
){int d=0;d=b+c;printf("两者的和:%d\n",d);}int main(){ int x=0,y=0; scanf("%d%d",&x,&y); sum (x,y); return 0;}
关于
C语言
参数化宏的问题?
答:
int myAbs();返回值为整形,不
能用
float输出。
宏
没有类型,只是在编译时,替换。运行时不存在宏
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜