www问答网
所有问题
当前搜索:
正确的宏定义
以下程序的输出结果是 #define MIN(x, y) (x) < (y) ? (x) : (y...
答:
结果为15。程序的第一行进行带参
宏定义
,用宏名MIN表示条件表达式(x) < (y) ? (x) : (y) ,形参x,y均出现在条件表达式中。程序中 MIN(i,j) 为宏调用,实参i,j,将代换形参x,y。宏展开后该语句为: 10*(i) < (j) ? (i) : (j),运算结束的结果为15。宏只是做了简单的替换...
使用
宏定义
时,对宏定义不
正确
概念的描述
答:
宏替换时先求出实参表达式的值,然后代入形参数运算求值。宏其实就是替换,这种替换不是在运行时进行,而是自编译时就完成的。替换时仅仅将表达式展开.不进行运算求值。
宏定义
是高级语言编译器提供的常用语法,其目的是利用某一标识符标识某个文本字符串。在编写程序时,如果程序中反复地使用某个数据或某...
VB 中的“
宏定义
”
答:
VB中没有这种东西,只能用const
定义
常量或者常量的运算式,比如说Const the_6thStudentAge = 3或者Const the_6thStudentAge = 3 * 2 + 1,前面是不加#号的
宏名必须用大写字母吗?
答:
看你了 宏名就是另取一个名字,但一般是大写,目的是与一般的变量区分
c语言
的宏定义
能不能修改
答:
你
定义
了。在程序中是不能改变的。只能在定义的地方修改。程序在预处理期间进行值替换。
C语言中,
宏定义
的define和typedef的区别是什么??
答:
作用都是用int_ptr代表 int * ,但是二者不同,正如前面所说 ,#define在预处理 时进行简单的替换,而typedef不是简单替换 ,而是采用如同
定义
变量的方法那样来声明一种类型。也就是说;//refer to (xzgyb(老达摩))define int_ptr int int_ptr a, b; //相当于int * a, b; 只是简单
的宏
替换...
以下能
正确定义
一维数组的选项是___。 A. int a[ ]; B. #
答:
B 是
正确的
。define N 10 是
宏定义
,定义了 N 是 10 int a[N]; 这句等价于声明了 int a[10];为什么a不对,回答如下:A, int a[ ]; 没有给出数组大小,所以不正确。如果声明的同时,加上初始化就正确了。例如:int a[]={1,2,3,4,5}; 就对了,它等价于...
C语言中
宏定义
的1<<0 和直接定义1有什么区别
答:
宏定义
define EOT 1 << 0 是规定在预编译时,把 下面程序中 遇到的 词 EOT 用 字符串 1 << 0 替代。所以 不能 换成 字符 1。例如:define EOT 1 << 0 int x=1;x = x + EOT + 2;printf("%#x ", x);和 define EOT 1 int x=1;x = x + EOT + 2;printf("...
关于C语言
的宏定义
中的循环
答:
答案
正确
。主要是因为for循环语句 for(;x<10;x+=50)P2(x,9*x+32);相当于是 for(;x<10;x+=50)P(x);P1(9*x+32);也就是只有P(x)处于for循环之内,而当程序执行到P1(9*x+32);这句时,此时x=51了。
设有以下
宏定义
:#define f(z) z*z,执行赋值语句int k; k=(4+4)/f...
答:
宏定义
把握一点:原样代入,不要主观加括号 define f(z) z*z, //注意z没有括号,所以f(z)中的z是一个表达式的话,这个表达式不会作为一个整体加上括号 k =(4+4)/f(2+2)=8/f(2+2)=8/2+2*2+2 =4+4+2 =10
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜