функция scanf

Scout

Вопрос от начининающего :
что делает в С scanf? Насколько я понимал, результатом
int n;
scanf("enter n%d",n);
должно быть: enter n_? (дальше мы вводим число, и оно записывается в n)
Потом, написав
printf("",n);
получим вывод n. Видимо, что-то неверно делаю или понимаю?

yurimedvedev

int n;
scanf("enter n %d",&n);
printf("%d", n);
обрати внимание на все отличия и будет тебе счастье.

Scout

Спасибо , подействовало!
А что значит &n? зачем "&"?

gvkonder

Потому что функции scanf надо передать не значение n, а ссылку на n, чтобы она могла его поменять.
Сравни
int n=2;
2=5;

и
int n=2;
n=5;

Dunduk

только вот так.
int n;
printf("enter n ");
scanf("%d",&n);
printf("%d", n);
в противном случае scanf будет искать в stdin строчку "enter n "

Scout

Спасибо и Penartur2 !

kachokslava

scanf("enter n %d",&n);
тоже имеет смысл
Автору треда советую также заботать что эта функция возвращает, а именно. если написано

int r;
double x,y;
...
r=scanf("%lf %lf",&x,&y);
...

что должно быть в r и что там иногда получается?

Dunduk

scanf("enter n %d",&n);тоже имеет смысл
она имеет смысл, непредполагаемый топикстартером.
Оставить комментарий
Имя или ник:
Комментарий: