>> HOPARL脰R 1: Bir n蓹z蓹r salaq CS50 kitabxana,
x眉susil蓹 onun GetInt funksiyas谋.
Burada biz faktiki m蓹nb蓹 var GetInt 眉莽眉n kodu.
V蓹 bu 莽ox uzun deyil ki, qeyd, v蓹 bu 蓹n bir m眉dd蓹t loop t蓹艧kil -
ki, bir sonsuz loop - yaln谋z biz, h蓹qiq蓹t蓹n, bir d蓹f蓹 bir d蓹y蓹r qaytar谋r
biz g枚zl蓹nilir n蓹 蓹ld蓹.
Bunun vasit蓹sil蓹 g蓹zm蓹k ed蓹k.
>> Ilk burada up bildiri艧 loop ba艧lay谋r.
Biz kodu bir x蓹tt ki, n枚vb蓹ti ed蓹k ki, h蓹qiq蓹t蓹n, GetString 莽a臒谋r谋r
v蓹 qaytar谋lmas谋 d蓹y蓹r saklar d蓹yi艧蓹n, n枚v眉 simli, line 莽a臒谋r谋b.
Biz sonra a臒l谋 ba艧谋nda olma 莽ek bir az.
Line == null, onda biz maraqla INT_MAX qay谋tmaq.
>> 陌ndi INT_MAX 莽谋x谋r ki bir x眉susi daimi ba艧qa elan
ki, 蓹n b枚y眉k m眉mk眉n ifad蓹 Bir t蓹msil ed蓹 bil蓹r ki, int
bu kimi proqram.
陌ndi biz 枚zba艧谋na qay谋tmaq 眉莽眉n q蓹rar q蓹bul etdik Bir sentinel d蓹y蓹r kimi INT_MAX
n枚v, biz kimi qorunub etdik ki, bir s蓹hv m蓹na meydana g蓹ldi.
Bel蓹likl蓹, biz 枚d蓹m蓹k qiym蓹t, 蓹lb蓹tt蓹, ki, GetInt y蓹qin bilm蓹z
h蓹qiq蓹t蓹n kimi b枚y眉k bir s谋ra qay谋tmaq INT_MAX, bu ist蓹s蓹, 莽眉nki,
ki qaytar谋lmas谋 d蓹y蓹ri h蓹qiq蓹t蓹n olmal谋d谋r z蓹ng t蓹r蓹find蓹n t蓹fsir edil蓹 -
kim GetInt istifad蓹 edir -
bir n枚v bir s蓹hv kimi.
>> Sonra, m蓹n b蓹yan etdik ki, g枚r眉rs眉n眉z bir int n v蓹 bir char c.
Kodu Bu n枚vb蓹ti line, m蓹n bir z蓹ng sscanf adl谋 funksiyas谋, ke莽蓹n
d枚rd d蓹lill蓹ri.
simli olan x蓹tt, istifad蓹莽i bir format olan tipli, "% i% c",
M蓹n istifad蓹莽i g眉c g枚zl蓹yirik al谋ram ki, simli 眉nvan谋 il蓹 t蓹qib n枚v眉,
n, v蓹 c 眉nvan谋.
H蓹yat 陌ndi sscanf m蓹qs蓹di h蓹qiq蓹t蓹n 眉莽眉n axtar谋r simli scan
x眉susi format ki, proqram莽谋 ikinci arqument kimi m眉蓹yy蓹n etmi艧dir.
Bu halda,%-i t蓹艧kil edir ,% c var.
Sscanf da int g枚r眉r 蓹g蓹r 陌stifad蓹莽il蓹rin input ki, int saxlan谋l谋r
n adl谋 d蓹yi艧蓹n daxilind蓹 莽眉nki biz 眉莽眉nc眉 kimi t蓹min
n 眉nvan谋n谋 sscanf 眉莽眉n d蓹lil.
Hans谋 sscanf h蓹qiq蓹t蓹n bil蓹rsiniz dem蓹kdir ki, orada, v蓹 orada d蓹y蓹r yenil蓹m蓹.
>> 陌ndi halda istifad蓹莽i n枚vl蓹ri daha bir 艧ey
bir v蓹 ya daha 莽ox r蓹q蓹m daha -
ba艧qa s枚zl蓹, bir n枚v bir char -
onun 眉nvan谋 ikinci d蓹yi艧蓹n c, biz onun d枚rd眉nc眉 kimi sscanf ke莽ib
arqument d蓹 ya艧ad谋臒谋 olunacaq.
陌ndi 眉莽眉n yoxlan谋lmas谋 ayaq istifad蓹莽i 蓹lav蓹 karakter
ki, o 蓹m蓹kda艧l谋q etm蓹s蓹, v蓹 yaln谋z bir int daha 莽ox n枚vl蓹ri,
biz bu a艧kar ed蓹 bil蓹rsiniz 艧蓹kild蓹, bu halda, sscanf 莽眉nki
signifying, 2 qay谋tmaq 眉莽眉n gedir ki, Bu placeholders h蓹m dolu idi
d蓹y蓹rl蓹ri il蓹.
Amma biz 蓹v蓹zin蓹 sscanf 眉mid edirik yaln谋z istifad蓹莽i dem蓹kdir ki, 1 qaytar谋r
bir int t蓹min.
>> N蓹 ed蓹c蓹yik 蓹g蓹r sscanf h蓹qiq蓹t蓹n 1 qaytar谋r?
Yax艧谋, biz d蓹rhal x蓹tt azad ki, istifad蓹莽i sonra tipli v蓹 biz
d蓹rhal olan, n qay谋tmaq bir int kazan谋lm谋艧.
Ba艧qa, sscanf 1 qay谋tmaq, vermir v蓹 蓹g蓹r istifad蓹莽i buna g枚r蓹 d蓹 蓹m蓹kda艧l谋q etm蓹di,
biz h蓹l蓹 x蓹tt azad, lakin biz indi yeniden istifad蓹莽i t蓹klif.
V蓹 biz daxilind蓹 h蓹l蓹 ist蓹yirik, 莽眉nki ba艧qa sonsuz loop, proses
yenid蓹n ba艧lamaq, v蓹 b蓹lk蓹 yenid蓹n, v蓹 b蓹lk蓹 yen蓹 q蓹d蓹r istifad蓹莽i h蓹qiq蓹t蓹n
Biz蓹 bir int edir.