هل GetChar () يعادل ScanF ("٪ C") و Putchar () مكافئًا لـ PrintF ("٪ C")؟

StackOverflow https://stackoverflow.com/questions/2482634

  •  21-09-2019
  •  | 
  •  

سؤال

هو 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 مرتبط إذا لم تكن هناك حاجة إليها في مكان آخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top