我对 C 指针有误解:
void putString(char* StringPtr, int length){
for(int i=0; i< length; i++)
{
USART_send(*StringPtr);
StringPtr++;
}
}
void parseMsg(char* in_string, int str_len) {
int i = 0;
putString(in_string, str_len);
for(i = 0; i <= str_len; i++)
{
char* temp_pt = &in_string[i];
putString(temp_pt, 1);
}
}
int main(int arg) {
char* myChar = "abcdefg";
parseMsg(myChar, 7);
}
编辑:
在parseMsg
,当我打电话给第一个时putString
,它工作得很好。当我尝试循环单独打印每一个时,它没有。USART_send
只是将字符吐到我的终端。