كيفية تحويل int eg.99 إلى char؟ [مغلق]

-5

كيفية تحقيق نفس النتيجة كما أدناه. أريد إضافة قيم إلى char [] باستخدام قيم int.

int i;
char c;

i = 99; /* ASCII DEC 'c' */
c = i;  /* 'c'*/

1 إجابة

1
افضل جواب

في لغة C ، يتم تمثيل الأحرف كأعداد صحيحة صغيرة ذات قيم بناءً على مجموعة أحرف الجهاز. (في الواقع ، من الصعب تخيل أي تمثيل آخر). لذا يمكنك أن تخلط بين الأعداد الصحيحة والشخصيات بحرية.

هنا مثال:

#include <stdio.h>

int main()
{
    char a[10];
    a[0] = 72;
    a[1] = 101;
    a[2] = 108;
    a[3] = 108;
    a[4] = 111;
    a[5] = 0;
    printf("%s\n", a);
}

يطبع هذا الرمز " Hello "، ويمكنك تحديد السبب بسهولة. (تأكد من أنك تفهم أيضًا سبب المهمة النهائية a[5] = 0 أمر ضروري للغاية.)

(من الواضح أن هذا لن يعمل على آلة ذات مجموعة أحرف غير عادية ، ولكن مثل هذه الآلات نادرة جدًا.)

هذا المثال ، "في الاتجاه الآخر" إذا جاز التعبير ، قد يكون مفيدًا أيضًا:

#include <stdio.h>

int main()
{
    printf("%d %d %d %d %d\n", 'H', 'e', 'l', 'l', 'o');
}
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام