28 / 28 / 6
Регистрация: 25.12.2008
Сообщений: 186
|
|||||||||||
1 | |||||||||||
Что выводит данные програмы23.03.2009, 21:11. Показов 825. Ответов 7
Метки нет (Все метки)
Етот и:
0
|
23.03.2009, 21:11 | |
Ответы с готовыми решениями:
7
Сохранить данные между вызовами програмы Программа не выводит данные при том, что успешно компилируется Как в php сделать поиск? Вводить данные, нажимать на кнопку, скрипт по базе ищет данные и выводит в одной форме ввожу данные об ученике выводится результат со второй формы но не выводит данные с перовой форм |
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
23.03.2009, 21:34 | 2 | |||||
Код
[guest@station src]$ ./test 12345 00 [guest@station src]$ одноместные операции ++ -- * выполняются справа налево, двуместные операции + выполняются слева направо
0
|
28 / 28 / 6
Регистрация: 25.12.2008
Сообщений: 186
|
|
23.03.2009, 21:48 [ТС] | 3 |
А 2й код?
и что делает -> и что дает вот тут *--*++chpp+3 ответ 00?
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
23.03.2009, 22:00 | 4 | ||||||||||
Код
[guest@station src]$ ./test BCD Ошибка сегментирования [guest@station src]$ если дополнить, то всё ок
Код
[guest@station src]$ ./test BCD hello [guest@station src]$ Добавлено через 3 минуты 6 секунд Добавлено через 3 минуты 20 секунд p->s делает то же самое, что и (*p).s , но в длинных выражениях компилятор не пропустит множественные разыменования в скобках, поэтому p->next->next->next работает а (*p).(*next).(*next).(*next) нет
0
|
28 / 28 / 6
Регистрация: 25.12.2008
Сообщений: 186
|
|
23.03.2009, 22:31 [ТС] | 5 |
Нет
0
|
28 / 28 / 6
Регистрация: 25.12.2008
Сообщений: 186
|
|
23.03.2009, 23:56 [ТС] | 7 |
Можеш вот ето по действиям обьяснить: *--*++chpp
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
24.03.2009, 01:39 | 8 |
справа налево
Код
++chpp : (chpp = chpp + 1) == (chp+1 + 1) == (chp + 2) chp + 2 == &chp[0] + 2 chp[] = { ch+2, ch, ch+1, ch+3 } | | chp[0] chp[2] | | &chp[0] + 2 == &chp[2] ++chpp == &chp[2] Код
*++chpp : *++chpp == *(&chp[2]) == chp[2] chp[] = { ch+2, ch, ch+1, ch+3 } | chp[2] chp[2] == ch+1 == &ch[0] + 1 (ch - это имя массива, а оно как известно превращается в указатель на самый первый элемент, потому ch == &ch[0] также, как chp == &chp[0]) &ch[0] + 1 == &ch[1] также, как &chp[0] + 2 == &chp[2] Код
--*++chpp : --*++chpp == --(&ch[0] + 1) == --(&ch[1]) так как мы работаем с chp[2] на данном этапе, оно является именующим выражением и поэтому его можно менять (операция -- содержит присваивание, поэтому требуется, чтобы выражение, к которому она применяется было именующим, то есть с которым возможно провести операцию присваивания) --(&ch[1]) == --(chp[2]) == chp[2] = chp[2] - 1 == chp[2] = &ch[1] - 1 == chp[2] = &ch[0] Код
*--*++chpp : *(&ch[0]) == ch[0] ch[] = { "12345", "ABCD", "67800", "3411" } | ch[0] ch[0] хранит в себе адрес строки "12345", которая записана в неменяемом, но читаемом пространстве и которая называется строковым литералом, или строковой константой, при этом строковая константа относится к классу лексем компилятора, но не относится к константам языка при выводе берётся адрес первого символа и выводится всё до символа '\0' , которым заканчивается любая строка в языке C
0
|
24.03.2009, 01:39 | |
24.03.2009, 01:39 | |
Помогаю со студенческими работами здесь
8
написала что могла, но код не правильный.нужно что бы в квадрат выводился ответ, а выводит какую то ерунду Не выводит данные Не выводит данные Не выводит данные не выводит данные Не выводит данные Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |