Я хочу написать программу c для разбиения строки «23 * 34» на основе оператора и сохранить числа как отдельную строку в массиве строк. Я следующий код.Чтобы сохранить символ по символу в массиве String
struct exp_details
{
char operator[10];
char *number[10];
}ed;
int split(int m,int n,char *str) /*m for operator index, n for str index */
{
int i,j=0;
for(i=n;(str[i] != ed.operator[m]) && (str[i] != '\0');i++,j++)
{
ed.number[m][j] = str[n];
}
if(str[i] != '\0')
{
split(m++,i++,str);
}
else
return 1;
return 0;
}
, но это кодирование показывает ошибку сегментации. он работает до
ed.number[m][j] = str[n];
это заявление. Я думаю, что это утверждение вызывает только проблему. Я думаю, что моя логика правильная. Но я не знаю, как ее исправить. Пожалуйста помогите. Спасибо заранее.
Это не делает разные выходные данные. – Dhasneem
j кажется инициализированным: 'int i, j = 0;' –