Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: C i scanf("%c")
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.

Към началото |Добави въпрос |Отговори
 
Въпрос
От: Milen Дата: 07/16/2002
dvete programki sa pochtiu ednakvi s izkl. na 
edin interval vav scanf , predi %c
obache purvata se darzi stranno - chete samo 2 pati chara,
 , chete edin char , sled tova na sledvashtia dava stojnaost
10 (enter) . chete oste edin , i pak na 4-tia =10

 sas dobavaneto na edin interval vav scanf vsichko se
oprava.
 ZASHTO? za kakvo sluzi tozi interval? bug li e? nekakav
analiz ?
sas gcc 2.95.3 sam

1.

#include<stdio.h>
main(){  int i; char c ;
for (i=0;i<4;i++){
printf(" c ? ");
scanf ("%c",&c);
printf ("\n %c = %d  \n",c,c);}}

2.

#include<stdio.h>
main(){  int i; char c ;
for (i=0;i<4;i++){
printf(" c ? ");
scanf (" %c",&c);
printf ("\n %c = %d  \n",c,c);}}



Отговор #1
От: milen Дата: 07/16/2002
hm... i v Borland Turbo C se darzi po sustia nachin ;-(
znachi ima neshto koeto ne mi e iasno v samata scanf



Отговор #2
От: fire (v_valchev (a) prosyst< dot >bg) Дата: 07/17/2002
 Добре, а щом четеш един единствен символ защо не го направиш
с getchar()



Отговор #3
От: milen Дата: 07/17/2002
znachi problema e reshen, 
vaprosa ostana ot chisto lubopitstvo ...
a i e vazno da razbera ZASHTO ...



Отговор #4
От: fire (v_valchev (a) prosyst[ точка ]bg) Дата: 07/17/2002
 Отговорът мисля е лесен. Ти казваш да се прочете един
 единствен символ, но реално се прочитат два - символа +
символ за край на ред.
 Следвашият път, когато извикаш scanf ще прочете именно
 символа за край на ред. За това трябва преди да го викнеш да
 провериш дали инпут буфера е пълен и евентуално да го
изчистиш. Чак тогава можеш да викаш scanf отново.



Отговор #5
От: milen Дата: 07/17/2002
ok, 
a kak da go izchista? fflush (stdin) ? ne stava s tova
kazi kak da stane..



<< Vapros kam mironcho (4 ) | Problem sus Sound i Mplayer (3 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 0 wallclock secs ( 0.06 usr + 0.01 sys = 0.07 CPU)