Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

หาค่า ASCII ของตัวอักษร 'A' ด้วย Implicit Conversion ใน C


Implicit Type Conversion (การแปลงชนิดข้อมูลโดยนัย)

คอมไพเลอร์แปลงชนิดข้อมูล **ขนาดเล็ก → ขนาดใหญ่** อัตโนมัติเมื่อมี Operation ระหว่าง Type ต่างกัน

ตัวอย่าง: หา ASCII ของ 'A'

#include <stdio.h>

int main() {
    char character = 'A';
    int number = 0;
    int value;
    
    value = character + number; // Implicit Conversion: char → int
    
    printf("The ASCII value of A is: %d\n", value);
    return 0;
}

ผลลัพธ์:


The ASCII value of A is: 65

อธิบาย

  • character เป็น char ค่า 'A' = ASCII 65
  • number เป็น int ค่า 0
  • character + number → char Promote เป็น int → 65 + 0 = 65
  • เก็บใน int value

ตัวอย่างเพิ่มเติม: ตัวอักษร 'P'


char character = 'P';
int value = character + 0;
printf("ASCII of P: %d\n", value); // 80

Integer Promotion Rules (การ Promote ชนิด Integer)


char/short → int → unsigned int → long → unsigned long → long long → unsigned long long

ใน Expression: Operand ขนาดเล็กกว่า int จะถูก Promote เป็น int ก่อนการคำนวณ

ตัวอย่าง: พิมพ์ ASCII Table (a-z)


#include 

int main() {
    for (int x = 97; x <= 122; x++) {
        printf("%c ", x); // Implicit: int → char (ใน %c)
    }
    printf("\n");
    return 0;
}

Output: a b c ... z

Implicit vs Explicit Conversion

ประเภทชื่อตัวอย่างทำโดย
ImplicitType Promotion / Coercionint + float, char + intCompiler (อัตโนมัติ)
ExplicitType Casting(int)float_val, (char)int_valProgrammer (เขียนโค้ด)