这个问题是非常具体的代码块,我试图了解代码信号:
第一个月
事实上,如果有一个清晰的解释“数组的定义”,这将是非常有帮助的。工作代码如下相邻元素乘积在C:给定一个整数数组,找出具有最大乘积的相邻元素对并返回该乘积。
// Definition for arrays:
// typedef struct arr_##name {
// int size;
// type *arr;
// } arr_##name;
//
// arr_##name alloc_arr_##name(int len) {
// arr_##name a = {len, len > 0 ? malloc(sizeof(type) * len) : NULL};
// return a;
// }
//
//
int solution(arr_integer inputArray) {
int max = inputArray.arr[0] * inputArray.arr[1];
for(int i=1; i<inputArray.size-1; i++) {
int product = inputArray.arr[i] * inputArray.arr[i+1];
if (max < product) max = product;
}
return max;
}
2条答案
按热度按时间fd3cxomn1#
注解掉的代码片段:
必须是一个或多个宏主体的一部分。
在此上下文中,
##
运算符是连接两个标记的预处理器运算符(它只能有效地出现在宏的主体中)。宏可用作:
其将扩展(给予或采取间隔)为:
hgqdbh6s2#
不是有效的C。这将不会编译。
但是,
##
在宏中有意义。相当于