Показать сообщение отдельно
Старый 16.11.2010, 01:30   #9
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Язык С - указатели

Эх, щас уже понимаю что это все фигня
в общем, дело такое. мб это баг.
Имею строку a, такого содержания:
1=1
3-й символ, соответственно, ноль.
Код:

int n1=atoi(a+back);
int n2=atoi(a+k+1);
printf("[%s]\n",a+k+1);
printf("%d %d\n",n1,n2);

back в данном случае = 0, k = 1
Получаю: n1=1, n2=0(!)
При этом printf("[%s]\n",a+k+1); пишет на экран [1], что доказывает, что a[k+1], т.е. a[2] == "1"
Какого же дьявола в n2 пишется ноль???
ЗЫ причем, это только на конце строки такая хе**я, в середине|начале работает отлично
(Offline)
 
Ответить с цитированием