У меня есть проблема с функцией символ * возвращения значенияфункция символ * возвращения значения
моя функция
char * GetUnreadMessageIndexes(char * input)
{
char index [10];
int i=0;
while(*input != ':')
{
input++;
}
input++;
while(*input != ',')
{
if(*input != ' ')
{
index[i]= *input;
i++;
}
input++;
}
return index;
};
и мой тестовый код в основном является
char * b = "+CMGL:26867689, \"REC READ\",\"+81923733737\", \n test again ";
char * a = GetUnreadMessageIndexes(b);
while(a != ((int)a + (int) strlen(a)))
{
printf("%c",*a);
a++;
}
эта функция предположим для синтаксического анализа строки чисел после + CMGL: и до, i получить первое число только «2», а остальные значения являются неожиданными значениями и не соответствуют
В зависимости от компилятора, этот сценарий, как правило, дает предупреждения/ошибки. Если это не так, вы должны включить предупреждение, так как это приведет к ошибкам, которые трудно отладить. – clcto
Проверьте последнее изменение моего ответа о печати полученного массива! – rullof