Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.072 c
3-14360
oss
2002-11-15 00:36
2002.12.05
BPL из BPL я


8-14690
Luchio
2002-08-18 19:46
2002.12.05
Нужна помощь!!!! Сохранение avi-файла покадрово в bmp-шках


1-14511
MaXie
2002-11-26 12:02
2002.12.05
Как правильно закрыть Excel?


3-14429
weak
2002-11-18 10:50
2002.12.05
В процессе выполнения программы происходит вычисление:


1-14504
lscomp
2002-11-23 19:20
2002.12.05
Помогите! Как получить количество строк в текстовом файле...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский