>> Oratè 1: Se konsa, mwen santi tankou mwen yo gen tandans ekri printf alo mond oswa printf
alo pousan nan byen souvan nan kontèks kote mwen vle enprime soti yon
fisèl epi, pafwa, mande a itilizatè yon pati nan ki fil.
Oke, pa t 'vle li dwe nice si nou te kreye yon fonksyon nan pwòp nou rele,
di, Non ekri ak lèt ​​detache, ki gen objektif nan lavi se tou senpleman ekri ak lèt ​​detache alo vigil
Se konsa,-ak-Se konsa, pa aksepte pou-ak-Se konsa, nan kòm yon diskisyon ak sa yo ki fonksyon?
Nou ka deklare yon fonksyon nan pwòp nou menm jan nou kapab nan reyur jan sa a.
>> Nan lòt mo, ann sipoze mwen ta renmen printf non ou ak Lè sa a, mande itilizatè a
pou li oswa non li ak fisèl s egal GetString.
Lè sa a, mwen vle rele yon fonksyon rele ekri ak lèt ​​detache
pase yon s kòm opinyon li yo.
>> Koulye a, malerezman, pa gen okenn fonksyon rele ekri ak lèt ​​detache nan C oswa nan
bibliyotèk la cs50.
Men, pa gen pwoblèm, paske nou ka fè li tèt nou.
Deklare yon fonksyon nan nou yo ak pwòp Lè sa a, aplike li, nou ka tou senpleman fè
kèk chanm nan sa a ranpli ak deklare sa a fonksyon jan sa a, anile -
siyifye ke fonksyon an se pa aktyèlman ale nan retounen yon bagay,
menm si li ap gen yon efè segondè -
ekri non, ak Lè sa a, se pou yo presize nan parantèz ke non ekri ak lèt ​​detache espere yon
agiman nan kalite fisèl.
Apre sa, an jeneral, nou pral panse nan ke kòm yon non.
>> Li kite yo louvri atèl nou epi fèmen atèl nou an.
Lè sa a, printf andedan alo vigil pousan nan nouvo non liy vigil.
Nan lòt mo, menm si sa a fonksyon yon sèl liy nan Kòd, li
kounye a gen kèk ki pi wo objektif nivo nan ekri ak lèt ​​detache
Non yon moun nan ak yon salitasyon.
>> Koulye a, andedan nan prensipal yo, remake ke mwen se rele Non ekri ak lèt ​​detache pa pase yon s.
Se poutèt sa mwen sanble kounye a yo gen yon pwogram konplè.
Sèl diferans ki genyen yo te nan men lòt moun nou te ekri se ke pa sèlman fè
pwogram sa a yo te prensipal la, li tou te gen yon deklarasyon ak aplikasyon
Non ekri ak lèt ​​detache, yon fonksyon nan m 'pwòp.
>> Se pou nou kounye a konpile pwogram m 'ak fè fonksyon zewo, epi kouri l 'ak dot
koupe fonksyon zewo.
Lè pouse pou mwen Mwen pral tape nan David la.
Apre sa, mwen tout bon kap akeyi ak "Hello, David la."
>> Koulye a, li vire soti mwen trè fè espre nonmen non ekri ak lèt ​​detache pi wo a prensipal la,
kidonk di C nan avanse ke gen egziste yon fonksyon rele ekri ak lèt ​​detache
non pou m 'ta ka itilize li pita nan prensipal la.
Koulye a, mwen te fè olye pou mete non ekri ak lèt ​​detache nan anba a nan dosye mwen, kòm franchman mwen
pwobableman ta dwe fè sa ki rete prensipal premye bagay la ke mwen oswa
yon lòt itilizatè wè nan Kòd m 'yo, li sanble ke Kòd mwen an se
pa ale nan konpile.
>> Espesyalman, si mwen tounen nan mwen fenèt tèminal ak kouri fè fonksyon
zewo kounye a, remake ke mwen rele nan.
Si m 'woulo liv moute nan fennèt tèminal m' yo, Mwen pral wè premye erè sa a nan wouj,
enplisit deklarasyon fonksyon ekri ak lèt ​​detache Non.
>> Koulye a, ki sa sa vle di?
Oke, menm si mwen te aplike ekri non sa a nan dosye, mwen pa te gen
aplike l 'devan mwen te te itilize li nan prensipal la.
Koulye a, nou te ka tounen nan fin vye granmoun lan vèsyon epi li mete Non ekri ak lèt ​​detache a
aplikasyon moute tèt.
>> Men, mwen ka olye pou jis bay C yon allusion ke gen nan yon fonksyon ap vini yo.
Espesyalman, pi wo a prensipal mwen ka deklare ekri non menm jan m 'te fè pi bonè, men
fini liy lan ak yon pwenvigil, kidonk pwomèt aplike men li pat ankò
aktyèlman mete ann aplikasyon fonksyon an rele ekri ak lèt ​​detache.
Mwen ka Lè sa a, gen prensipal nan tèt yo nan mwen pote jan mwen te espere, e mwen kapab aktyèlman
aplike Non ekri ak lèt ​​detache nan pati anba a.
>> Si m 'koulye a retounen nan fenèt tèminal mwen ak compile fonksyon zewo ak fè,
tan sa a li compiles.
Men, si mwen kouri li ak fonksyon koupe dot zewo bay non mwen, mwen se
akeyi kòm "Hello, David la."