كيفية تحقيق نفس النتيجة كما أدناه. أريد إضافة قيم إلى char [] باستخدام قيم int.
int i;
char c;
i = 99; /* ASCII DEC 'c' */
c = i; /* 'c'*/
كيفية تحقيق نفس النتيجة كما أدناه. أريد إضافة قيم إلى char [] باستخدام قيم int.
int i;
char c;
i = 99; /* ASCII DEC 'c' */
c = i; /* 'c'*/
في لغة 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');
}