Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa định dạng% d và% i trong ngôn ngữ C.

Định dạng chỉ định

Trong ngôn ngữ lập trình C,% d và% i là các mã định dạng trong đó% d chỉ định kiểu của biến là số thập phân và% i chỉ định kiểu là số nguyên. Về cách sử dụng, không có sự khác biệt trong đầu ra của hàm printf () trong khi in một số bằng% d hoặc% i nhưng sử dụng scanf thì sự khác biệt xảy ra. Hàm scanf () phát hiện cơ sở sử dụng% i nhưng giả định cơ sở 10 sử dụng% d.

Ví 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;
}

Đầu ra

32767-498932064
8 8

Ở đây 010 là một số bát phân. scanf đọc số là 10 bằng% d và đọc số là 8 bằng% i. printf tốt trong cả hai trường hợp để đọc số dưới dạng bát phân.