char [] 数组一定要留出一个位置放'\0'的,你用的啥编译器,第一条根本就不能通过改成这样,就能通过,但是输出是不可预期的:

关于这个问题,在 Arduino 中,可以使用 `memcpy()` 函数来复制数组。
在上述示例中,`memcpy()` 函数将源数组 `sourceArray` 的内容复制到目标数组 `destinationArray` 中。`sizeof(sourceArray)` 用于指定要复制的字节数。最后,使用 `Serial.println()` 函数在串口监视器中打印目标数组的内容。
请注意,在使用 `memcpy()` 函数时,要确保目标数组具有足够的空间来容纳源数组的元素。
在 Arduino 中,复制数组可以使用 for 循环遍历一遍原始数组,将每个元素逐一复制到目标数组中。
例如,可以定义一个具有相同大小和类型的目标数组,使用 for 循环遍历原始数组,并在每次循环中将当前元素复制到目标数组的相应位置。在循环结束后,目标数组将包含原始数组的所有元素的复制品。需要注意的是,如果目标数组的大小小于原始数组,则只有目标数组大小的元素会被复制,而多余的元素将被忽略。
假定目的地数组有足够内存,与原数组属同一类型变量,可以用memcpy(); 例如:
; for (i=0;i<8;i++) printf("%g ",b[i]); return 0; } 输出: 1 2 3 4 5 6 7 8 如果变量类型不同,那么循环赋值就是了:
int a[]={1,2,3,4,5,6,7,8}; double b[10]; int i ; for (i=0;i<8;i++) b[i ] = a[i ]; (当然,这个 8 你也可以 用 sizeof(a)/sizeof(int) 代替 -- 由程序算出来 )。
在C语言中,可以使用循环和指针的方法来截取数组的一段。下面是一个例子:```c#include