هل GetChar () يعادل ScanF ("٪ C") و Putchar () مكافئًا لـ PrintF ("٪ C")؟
سؤال
هو a = getchar()
أي ما يعادل scanf("%c",&a);
?
هو putchar(a)
أي ما يعادل printf("%c",a);
أين a
هو char
عامل؟
المحلول
بشكل عام نعم هم نفسه.
لكنهم ليسوا بطرق قليلة. الوظيفة getchar
يكتب للعودة int
و لا char
. يتم ذلك حتى getchar
يمكن كلاهما ممكن char
القيم ورموز الخطأ بالإضافة إلى ذلك.
لذا ، في حين أن ما يلي يجمع بسعادة في معظم المجمعين ، فأنت تقوم بتقسيم رسالة خطأ بشكل أساسي
char c = getchar();
الوظيفة scanf
, ، رغم ذلك ، يتيح لك استخدام أ char
اكتب مباشرة ويفصل رمز الخطأ في قيمة الإرجاع.
نصائح أخرى
يفعلون نفس الشيء هنا. ومع ذلك ، إذا كنت تعلم أنك تفعل فقط شخصيات getchar
و putchar
سيكون أكثر كفاءة ، لأن printf
و scanf
سيتعين على المتغيرات تحليل السلسلة في كل مرة لتحديد كيفية معالجة طلبك. بالإضافة إلى ذلك ، قد يتم استدعاؤها في مكتبة من المستوى الأدنى مما يعني أنه قد لا تضطر إلى الحصول على printf
/scanf
مرتبط إذا لم تكن هناك حاجة إليها في مكان آخر.