nixp.ru v3.0

18 октября 2017,
среда,
19:37:42 MSK

DevOps с компанией «Флант»
anonymous написал 26 сентября 2005 года в 11:03 (336 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.


char buff[30];
char *ind;
int xind;
fgets(buff,20,stdin); //читаем ввод с консоли 3x-2y=0
printf("\n%s\n",buff);
ind=strtok(buff,"x"); // выделяем все что до x (т.е. 3)
                        // и помещяем в ind
printf("\n%s\n",buff);
xind=atoi(ind);        // записываем 3 в xind
//for(c=0;c<=strlen(buff);c++) buff[c]=buff[strlen(ind)+c];

после выполнения на экране:

3x-2y=0

3

Как видно второй printf вывел 3. Почему ? Должно же быть 3x-2y=0 ???

df_0903

strtok 'затирает’ — ставит 0 на мести токенов. Это написано в man

anonymous

пропустил …..

спасибо !