连续打印后出现奇怪的字符

Getting wierd characters after a serial print

我正在尝试将 lazer 发送给我的信号解释为字符串,但我不断收到: 00000000! 而不是 00000000

这是我用来解释它的代码

String recievePacket(){
char signals [8];
for(int i = 0; i < 8; i ++){
    lightRead = analogRead(lightPin);
    if(lightRead < 50){
        signals[i] = '1';
    }
    else{
        signals[i] = '0';
    }
    delay(50);
}
String signalStr(signals);

return signalStr;
}

C 中的字符串以 null 结尾。尝试

char signals[9];
for ...
}
signals[8] = 0;
delay...