Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 15:59   #11
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

В чем фишка теста? Ну и что - что выведется какой-то символ. 7раз...
Nomlpppp вне форума Ответить с цитированием
Старый 25.04.2009, 16:02   #12
Goblin
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 196
По умолчанию

Цитата:
что выведется какой-то символ. 7раз...
- ответ не верный.

Если у тебя Windows смотри второй вариант.
Goblin вне форума Ответить с цитированием
Старый 25.04.2009, 16:15   #13
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

В упор не вижу заковирки. как и ррзницы между первым и вторым вариантом.
В переменной char name[8] = "strange"; - 6 символов.
седьмой нуль символ. восьмой - подразусевается что пусто но там может быть любой сивол . во он и выводится 6 раз.
Nomlpppp вне форума Ответить с цитированием
Старый 25.04.2009, 16:16   #14
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

...что-то я поторопился..
А чем отличаются эти два варианта, кроме порядка объявления переменных? В упор не вижу..

Выводится некий символ (у меня 0). Притом если объявить еще парочку строковых переменных (в нагрузку), то он меняется (у меня превращается в "собаку").
По логике, это просто данные из памяти, которые могут быть любыми.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 16:20   #15
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Вобщем не понял смысла и начал тестить
Intel Compiler для 1 случая
Цитата:
ffffffcc ffffffcc ffffffcc ffffffcc ffffffcc ffffffcc ffffffcc
для второго
Цитата:
ffffffa0 ffffffa0 ffffffa0 ffffffa0 ffffffa0 ffffffa0 ffffffa0
(компилятор)Майкрофта всегда выдавал
Цитата:
34 34 34 34 34 34 34
Dev c++
для 1
Цитата:
ffffffb0 ffffffb0 ffffffb0 ffffffb0 ffffffb0 ffffffb0 ffffffb0
для 2
Цитата:
13 13 13 13 13 13 13
Цитата:
В переменной char name[8] = "strange"; - 6 символов.
там 7 символов
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 25.04.2009, 16:32   #16
Alexcomeback
Пользователь
 
Регистрация: 03.04.2009
Сообщений: 59
По умолчанию

хм... name[8] - по идее знак конца строки, спецификатор %x насколько я помню указывает на шестнадцатеричное представление выводимого значения. Цикл пройдёт 7 раз и в стобик (так как printf("\n")) выведет эти самые значения. По-моему так.
Alexcomeback вне форума Ответить с цитированием
Старый 25.04.2009, 16:33   #17
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Alexcomeback
хм... name[8] - по идее знак конца строки, спецификатор %x насколько я помню указывает на шестнадцатеричное представление выводимого значения. Цикл пройдёт 7 раз и в стобик (так как printf("\n")) выведет эти самые значения. По-моему так.
Символ конца строки будет name[7].
И выводиться будет не в столбик, а в строчку ) printf("\n") находится после цикла.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 16:37   #18
Alexcomeback
Пользователь
 
Регистрация: 03.04.2009
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Символ конца строки будет name[7].
И выводиться будет не в столбик, а в строчку ) printf("\n") находится после цикла.
ошибся, согласен.
Alexcomeback вне форума Ответить с цитированием
Старый 25.04.2009, 16:38   #19
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

Товарищи выводится будет нуль симаол шесть раз в одну строку
0x00 0x00 0x00 0x00 0x00 0x00
или если не unsigned
0xffffff0 0xffffff0 0xffffff0 0xffffff0 0xffffff0 0xffffff0
Nomlpppp вне форума Ответить с цитированием
Старый 25.04.2009, 16:46   #20
Goblin
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 196
По умолчанию

люди у кого Windows напишите мне вывод этой программы:
Код:
#include <stdio.h>

int main()
{
	int i = 0;
	char name[8] = "strange";
	int c = 0;
	
	printf("%x\n", &i);
	printf("%x\n", name);
	printf("%x\n", &c);
	return 0;
}
Goblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц