[Powered by Google Translate] Chris Gerber: Yon fonksyon se yon seri etap ki nan yon pi gwo pwogram, ki se nòmalman fèt yo dwe rele plizyè fwa, epitou soti nan kote plizyè lòt nan pwogram nan. Lè y ap kreye yon fonksyon C, youn nan kondisyon yo ki se presize yon kalite valè retounen. Ka a pi senp se yon sitiyasyon kote w rele a kòd se pa sa konsène ak rezilta a nan fonksyon an. Sa a ta kapab ka a lè n ap enprime done a ekspozisyon itilizatè a, menm jan ak printf. Nan ka sa a, nou ka deklare yon valè retou yo dwe nan anile kalite. Sèvi ak anile tou senpleman di du a ke pa gen okenn valè ap retounen. Ann gade pou wè ki sa sa a sanble. Se pou nou di ke nou gen yon fonksyon ki rele say_hello ki pran youn agiman. Nou pral pase l non yon moun nan epi li pral afiche yon salitasyon sou ekran an. Non a pral nan * kalite Char. Epitou, n ap presize ke kòm agiman an. Aplikasyon mwen an pa bezwen konnen sa ki te enprime oswa si li te enprime. Se konsa, valè a retounen yo pral nan anile kalite. Sa a fonksyon ka enprime ekran an ak yon lòd tankou printf ("Hello,% s \ n ", Non);. Ap salitasyon a ap parèt ak kontwòl yo pral pase Retounen nan kòd la rele. Youn nan bagay sonje se ke lè kalite a valè retou se anile, ou pa bezwen gen ladan yo yon retou deklarasyon nan fonksyon an. Si ou chwazi gen ladan yo yon sèl, pa enkli yon valè retou kòm yon agiman. Nan kèk ka, li fè sans nan retounen yon valè soti nan yon fonksyon. Se pou nou di ke nou te ekri yon fonksyon rele add_floats. Nou pral pase l de prèv, tou de flote, rele premye ak dezyèm. Epi li pral di nou sa sòm total la nan tout sa yo flote se. Nou konnen ke si nou ajoute de cha ansanm, rezilta a pral gen yon flote. Bay sa yo, nou chwazi yon kalite retounen nan flote. Sa a fonksyon pral fè sa nou kalkile a epi retounen valè yo nan yon deklarasyon tankou retou premye + dezyèm;. Lè kontwòl la transmèt tounen nan kòd la rele, nan ki kapab lakòz valè se kounye a disponib ak sa yo ki kòd. Nou ka magazen sa a valè tankou konsa: rezilta flote = add_floats (3.14, 1,62 );. Rezilta nan ka sa a ta kounye a gen ladan valè a 4,76. Kòm yon rapèl, valè pwen k ap flote yo se enpresizyon. Se konsa, si sa a se te yon kalkil finansye, lè l sèvi avèk dola ak santim, nou ka vle konsidere yon egzak done kalite tankou Int ak fè kalkil la nan peni. Yon lòt ka kote nou ta vle retounen yon valè ki sòti nan yon fonksyon se lè nou vle konnen si yon fonksyon te siksè. Si li te pa reyisi, nou ka vle tou konnen ki kalite erè te fèt la. Se pou nou di ke nou ap eseye louvri yon dosye sou ki gen kapasite nan konte nimewo a nan karaktè nan li. Si dosye a pa ka louvri, nou vle pou kapab sispann ak di itilizatè a sou pwoblèm nan. Nou pral rele count_file_chars fonksyon nou yo ak li pral pran yonn agiman. Nou pral pase nan non dosye a lè l sèvi avèk yon Char * rele fichier. Sa a fonksyon ta ka gade yon bagay tankou sa a. Nan egzanp sa a, nou ta atann konte a tounen nan dwe 0 oswa pi plis. Sa a fèy nou nonm antye relatif yo negatif itilize kòm valè Sentinel. Yon valè Sentinel se senpleman yon valè espesyal ki se pa done lejitim men transmèt enfòmasyon. Isit la, si mwen tounen yon -1 al nan kòd la rele, se mwen menm aktyèlman voye mesaj la ke yon erè ki te fèt pandan y ap ap eseye gen aksè a dosye a. Mwen te kapab Lè sa a, tcheke ki valè retounen nan detèmine si mwen rele nan fonksyon te gen siksè. Si nimewo a te 0 oswa pi plis, mwen ta konnen an nimewo nan karaktè nan dosye a. Si, toutfwa, kantite a te mwens pase 0, mwen te kapab tou senpleman enprime sa ki te yon pwoblèm ki te fèt. Youn nan komès-off yo konsidere se ke lè rezève nan tout valè negatif kòm valè Sentinel, an konsideran sa a se yon 32-bit nonb antye relatif, mwen te esansyèlman wete alantou 2 milya dola valè retou posib. Kalite valè retounen yo se youn nan eleman ki nan pi enpòtan fonksyon apèl. Èspere ke sa a te BECA kout te ede ou panse osijè de twa kalite kle: anile, valè rezilta, ak valè Sentinel, ak ki lè chak nan twa a ta kapab apwopriye nan kòd ou a. Mèsi pou gade.