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

ความแตกต่างระหว่าง %d และ %i ในภาษา C

ตัวระบุรูปแบบ %d

ตัวระบุรูปแบบ %d ใช้รับค่าจำนวนเต็มแบบมีเครื่องหมาย (signed decimal integer) หมายความว่าค่าต้องเป็นเลขฐานสิบ (decimal) ทั้งค่าบวกและค่าลบ

ตัวอย่าง

#include <stdio.h>
int main() {
    int v1 = 7456;
    int v2 = -17346;
    printf("The value in decimal form : %d\n", v1);
    printf("The value in negative : %d", v2);
    return 0;
}

ผลลัพธ์

The value in decimal form : 7456
The value in negative : -17346

ตัวระบุรูปแบบ %i

ตัวระบุรูปแบบ %i ใช้รับค่าจำนวนเต็มที่อาจเป็นเลขฐานสิบ (decimal), ฐานแปด (octal) หรือฐานสิบหก (hexadecimal) โดยค่าฐานแปดจะนำหน้าด้วย 0 และค่าฐานสิบหกจะนำหน้าด้วย 0x

ตัวอย่าง

#include <stdio.h>
int main() {
    int v1 = 1327;
    int v2 = 0x42451;
    printf("The value in decimal form : %d\n", v1);
    printf("The value in hexadecimal form : %i", v2);
    return 0;
}

ผลลัพธ์

The value in decimal form : 1327
The value in hexadecimal form : 271441