Я пытаюсь написать функцию, которая будет преобразовывать символы из массива в целые числа, чтобы я мог произвести сумму или другой математический процесс для каждой группы. Я знаю, что сначала мне нужно использовать strtok, чтобы избавиться от пробелов и «+». Я пытался сначала хотя бы начать с того, чтобы заставить strtok работать, но он продолжает говорить об ошибке сегментации, когда я пытаюсь его запустить.
Любая помощь?
#include <string.h>
#include <stdio.h>
int main(void)
{
char* string[] = { "10 + 20", "1 + 3 + 6 + 8" };
sum(string[0]);
}
int sum(char* s)
{
char *stringcopy = malloc( strlen(s) + 1 );
char* del = " +";
char* token;
int i;
stringcopy = s; /* 'copy' problem here */
token = strtok(stringcopy, del);
while( token ) {
printf("%s\n", token);
token = strtok(NULL, del);
}
return 11; /* placeholder until I get the sum */
}
C
. Во всяком случае, вы уверены, что это должен быть C89? - person Deduplicator   schedule 30.06.2014textcopy = s;
- это не то, что вы думаете. - person Oliver Charlesworth   schedule 30.06.2014