اسپیکر 1: کی ایک نظر ڈالیں CS50 لائبریری میں، خاص طور پر اس میں GetInt تقریب. یہاں ہم اصل منبع ہے میں GetInt کے لئے کوڈ. اور یہ بہت زیادہ طویل نہیں ہے کہ توجہ اور اس کا سب سے زیادہ جبکہ لوپ کی تشکیل - اس میں ایک لامحدود لوپ - صرف ہم اصل میں ایک بار ایک کی قیمت کی واپسی ہم توقع کیا ہو گیا. کی اس کے ذریعے چل دو. ، سب سے پہلے یہاں نوٹس لوپ شروع ہوتا ہے جبکہ. ہم کوڈ کا ایک لائن ہے کہ اگلے نوٹس کہ اصل میں، GetString کا مطالبہ اور ایک میں واپسی کی قیمت ذخیرہ متغیر، قسم سٹرنگ کی، لائن کہا جاتا ہے. پھر ہم وویک چیک کے تھوڑا سا ہے. لائن نل == تو ہم دلچسپ INT_MAX واپس. اب یہ INT_MAX ہے پتہ چلا ہے کہ ایک خصوصی مسلسل دوسری جگہوں کا اعلان کر دیا کہ سب سے بڑی ممکن کی وضاحت آپ کو ایک میں نمائندگی کر سکتے ہیں کہ int میں اس طرح کے پروگرام. اب ہم منمانے واپس کرنے کا فیصلہ کیا ہے کے ایک پرہری قیمت کے طور پر INT_MAX قسم، ہم نے محفوظ کیا ہے کہ ایک ایک غلطی کا مطلب واقع ہوئی ہے. تو ہم ادا کی قیمت، کورس کے، ہے اس GetInt بظاہر نہیں کر سکتے ہیں اصل کے طور پر کے طور پر بڑے ایک بڑی تعداد واپس INT_MAX، یہ چاہتا ہے یہاں تک کہ اگر اس وجہ سے، کہ واپسی کی قیمت واقعی چاہئے فون کرنے والے کی طرف سے تشریح کی جائے - جس GetInt کا استعمال کرتے ہوئے ہے - کسی قسم کی ایک غلطی کے طور پر. اگلا، میں نے اعلان کیا ہے کہ محسوس ایک int ن اور ایک چار سی. کوڈ کا یہ اگلی لائن میں، میں نے ایک کال sscanf کی ملاقات کی تقریب، میں گزر چار دلائل. تار ہے جس میں لائن، صارف کی ایک شکل ہے جس میں ٹائپ، "٪ میں٪ C"، میں صارف طاقت امید کر رہا ہوں کہ سٹرنگ کے ایڈریس کے بعد کی قسم، (ن)، اور C کا پتہ. زندگی میں اب sscanf کی مقصد یقینا ہے کے لئے تلاش ایک تار اسکین خاص طور پر فارمیٹ ہے کہ پروگرامر کہ دوسری دلیل کے طور پر مقرر کی ہے. اس صورت میں، میں نے میں ہے ،٪ C ہے کے طور پر. sscanf کی میں ایک int مقابلوں تو اگر صارف کی ان پٹ، کہ INT ذخیرہ کیا جائے گا کہا جاتا ن متغیر، کے اندر کی وجہ ہم تیسری کے طور پر فراہم کی ہے (ن) کا پتہ sscanf کی دلیل. کون sscanf کی واقعی جا سکتے ہیں کا مطلب ہے کہ وہاں، اور اس کی قیمت کو اپ ڈیٹ. اب صورت میں صارف اقسام کچھ میں ایک یا زیادہ ہندسے سے - دوسرے الفاظ میں، کسی قسم کی چار - جس کا پتہ کہ دوسری متغیر C، ہم نے اس کے چوتھی کے طور پر sscanf کی میں منظور دلیل بھی آبادی ہو جائے گا. اب ایک کے لئے کی جانچ پڑتال کے الٹا صارف کی طرف سے اضافی کردار ہے کہ وہ تعاون نہیں کرتا، اور صرف ایک int سے زیادہ میں کی اقسام، ہم اس میں اس کا پتہ لگانے کے قابل ہو جائے گا انداز، اس صورت میں، sscanf کی وجہ اشارہ، 2 واپس جا رہا ہے کہ جگہ دار کے دونوں بھرے ہوئے تھے اقدار کے ساتھ. لیکن ہم بجائے کہ sscanf کی امید کر رہے ہیں صرف صارف جس کا مطلب ہے، 1 واپس ایک int فراہم کی. ہم کیا کرتے ہیں اگر sscanf کی بے شک 1 واپس؟ ٹھیک ہے، ہم فوری طور پر مفت ڈاؤن لوڈ، ہے صارف میں ٹائپ، اور ہم فوری طور پر ہے، (ن) کے واپس ایک int ہو گیا. ورنہ، sscanf کی 1 واپس، اور نہیں ہے صارف وجہ سے تعاون نہیں کیا، ہم اب بھی مفت ڈاؤن لوڈ، لیکن ہم اب دوبارہ کوشش کرنے کے لئے صارف کو فوری طور. اور ہم نے اس کے اندر اب بھی ہیں کیونکہ دوسری صورت میں لامحدود لوپ، عمل دوبارہ شروع، اور شاید ایک بار پھر، اور شاید ایک بار پھر، جب تک صارف اصل میں ہم ایک int فراہم کرتا ہے.