Опитвам се да напиша функция, която ще преобразува знаците от масив в int, така че да мога да създам сума или друг математически процес за всяка група. Знам, че първо трябва да използвам 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