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

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


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

ในภาษาซีโปรแกรม %d และ %i เป็นตัวระบุรูปแบบโดยที่ %d ระบุประเภทของตัวแปรเป็นทศนิยมและ %i ระบุประเภทเป็นจำนวนเต็ม ในแง่ของการใช้งาน ไม่มีความแตกต่างในเอาต์พุตของฟังก์ชัน printf() ขณะพิมพ์ตัวเลขโดยใช้ %d หรือ %i แต่การใช้ scanf จะทำให้เกิดความแตกต่าง ฟังก์ชัน scanf() ตรวจจับฐานโดยใช้ %i แต่ถือว่าฐาน 10 โดยใช้ %d

ตัวอย่าง (C)

#include <stdio.h>
int main() {
   int num1 ,num2;
   int num3, num4;
   scanf("%i%d",&num1 , &num2);
   printf("%i\t%d\n",num1, num2);
   num3 = 010;
   num4 = 010;
   printf("%i\t%d",num3, num4);
   return 0;
}

ผลลัพธ์

32767-498932064
8 8

010 เป็นเลขฐานแปด scanf อ่านตัวเลขเป็น 10 โดยใช้ %d และอ่านตัวเลขเป็น 8 โดยใช้ %i printf ดีทั้งสองกรณีในการอ่านตัวเลขเป็นฐานแปด