it-swarm.asia

كيف يمكنني طباعة علامة النسبة المئوية (٪) في ج

أنا مبتدئ في لغة C ، وكنت أتساءل لماذا لا يطبع هذا البرنامج٪ sign؟

الكود هو:

#include<stdio.h>

main()
{
     printf("%");
     getch();
}
28
Paul Filch

مشكلتك هي أنه يجب عليك تغيير:

printf("%"); 

إلى

printf("%%");

أو يمكنك استخدام ASCII رمز والكتابة:

printf("%c", 37);

:)

63
C_Intermediate_Learner

لا يوجد أي تفسير في هذا الموضوع لسبب طباعة علامة النسبة المئوية التي يجب على الفرد أن يكتبها %% وليس على سبيل المثال حرف الهروب مع النسبة المئوية - \%.

من comp.lang.c FAQ قائمة · السؤال 12.6 :

السبب في صعوبة طباعة٪ من العلامات باستخدام printf هو أن٪ هو في الأساس شخصية هروب printf. عندما ترى printf٪ ، فإنها تتوقع أن يتبعها حرف يخبرها بما يجب القيام به بعد ذلك. يتم تعريف التسلسل المكون من حرفين ٪٪ لطباعة واحد٪.

لفهم سبب عدم قدرة \٪ على العمل ، تذكر أن الخط المائل العكسي\هو حرف الهروب الخاص بالمترجم ، ويتحكم في كيفية قيام المحول البرمجي بترجمة أحرف شفرة المصدر في وقت الترجمة. ومع ذلك ، في هذه الحالة ، نريد التحكم في كيفية تفسير printf لسلسلة التنسيق الخاصة به في وقت التشغيل. بقدر ما يتعلق الأمر بالمترجم ، فإن تسلسل الهروب \٪ غير معرف ، وقد ينتج عنه حرف٪ واحد. من غير المحتمل أن يقوم كل من\و٪ بإجراء ذلك إلى printf ، حتى إذا كان printf مستعدًا للتعامل مع\بشكل خاص.

لذلك السبب الذي يجعل الشخص يجب أن يكتب printf("%%"); لطباعة واحد٪ هو ما يعرف في وظيفة printf. ٪ هو شخصية هروب من printf ، و\من المترجم.

15
macfij

استعمال "%%". صفحة رجل تصف هذا المطلب:

% يتم كتابة '٪'. لا يتم تحويل وسيطة. مواصفات التحويل الكاملة هي '%% '.

7
Carl Norum

حاول الطباعة بهذه الطريقة

printf("%%");
1
Santhosh Pai