Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Объясните почему в С++ так...   Найти похожие ветки 

 
Anar ©   (2002-11-13 17:25) [0]

Я вот про C++ хочу вас кое о чём спросить.

Почему этот код не выдаёт OK, если ввести "a".
char MyChar;

scanf("%s",MyChar);
if (MyChar="a")
{
printf("OK");
}

А этот выдаёт:

char MyChar;
scanf("%s",&MyChar);
if (MyChar="a")
{
printf("OK");
}


зачем нужно ставить & перед переменной?


 
Игорь Шевченко ©   (2002-11-13 17:35) [1]

Учебник почитать, опять же не вредно...


 
Ag2002   (2002-11-13 17:48) [2]

НУ действительно книгу не внимательно читал


 
Jeer ©   (2002-11-13 17:49) [3]

Начни с C--


 
esu ©   (2002-11-13 19:20) [4]

Посмотри что принимает в качестве аргументов scanf...


 
Marser ©   (2002-11-13 22:43) [5]

Амперсанд(&) означает ссылку на адрес переменной.


 
Anar ©   (2002-11-13 22:49) [6]

Да я знаю, но зачем в Си++ чтобы изменить значение переменной необходимо к её адресу обращаться?


 
Fantasist ©   (2002-11-13 23:02) [7]


> Да я знаю, но зачем в Си++ чтобы изменить значение переменной
> необходимо к её адресу обращаться?


:D :D

А что, в других языках это не так? :)


 
VictorT ©   (2002-11-13 23:16) [8]


> Да я знаю, но зачем в Си++ чтобы изменить значение переменной
> необходимо к её адресу обращаться?

Подумай, чем отличаются в паскала две переменные в этом обьявлении процедуры:
procedure fun(variable1: int, var variable2: integer)
Вот аналог на Си:
void fun(int variable1, int &variable2)


 
SV ©   (2002-11-13 23:51) [9]

И почему "=" вместо "==" ? ;)


 
Anar ©   (2002-11-13 23:58) [10]


> VictorT ©

А щас понял. TNX


> SV © (13.11.02 23:51)

Пардон, но все же меня поняли.


 
p@s ©   (2002-11-14 05:23) [11]

Anar
А вот и нифига не понял. В сканф передается не ссылка, а указатель на переменную. Отсюда и необходимость поставить &.
Аналог на Паскале

type PInteger = ^Integer;
...
procedure fun(variable: PInteger)
var i: Integer;
begin
i := variable^;
end;
...
var I: Integer;
fun(@I);





Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
14-14760
Tornado
2002-11-14 16:24
2002.12.05
Еще вопрос по Web


1-14552
Peroon
2002-11-27 02:44
2002.12.05
Как динамически создать/уничтожить метод-обработчик


4-14877
VICTOR_
2002-10-24 22:38
2002.12.05
Хочу словить сообщение от вторичного потока


14-14814
MFV
2002-11-04 00:50
2002.12.05
Изображаем форматирование


1-14490
Raph
2002-11-26 00:53
2002.12.05
Панелька в