Lập Trình C: Sự Khác Biệt Giữa Mã định Dạng %d Và %i | V1Study
Có thể bạn quan tâm
Trình chỉ định định dạng là một chuỗi được tạo thành bởi dấu phần trăm ban đầu (%) cho biết một ký hiệu định dạng, được sử dụng để chỉ định loại và định dạng của dữ liệu sẽ được truy xuất từ luồng và được lưu trữ vào các vị trí được trỏ bởi các đối số bổ sung. Tóm lại, nó cho chúng ta biết loại dữ liệu nào cần lưu trữ và loại dữ liệu nào cần in.
Ví dụ - Nếu chúng ta muốn đọc và in số nguyên bằng cách sử dụng hàm scanf () và printf (), thì% i hoặc% d được sử dụng nhưng có sự khác biệt nhỏ trong cả định dạng % i và % d .
%d chỉ định số nguyên hệ 10 có dấu trong khi %i chỉ định số nguyên hệ khác 10.
Hành vi của %d và %i là tương tự như nhau đối với printf()
Không có sự khác biệt giữa các chỉ định định dạng% i và% d cho printf. Hãy xem xét một ví dụ sau.
// Chương trình C demo // hành vi của %i và %d // đối với lệnh printf #include <stdio.h> int main(){ int num = 9; // in giá trị dùng %d printf("\nGia tri cua num su dung %%d la: %d",num); // in giá trị dùng %i printf("\nGia tri cua numb su dung %%i la: %i",num); return 0; }Kết quả:
Gia tri cua num su dung %d la: 9 Gia tri cua numb su dung %i la: 9Hành vi của %d và %i là khác nhau trong scanf()
%d ứng với cơ số 10 trong khi %i tự động phát hiện cơ số. Do đó, cả hai chỉ định hoạt động khác nhau khi chúng được sử dụng với mỗi chỉ định đầu vào. Vì vậy, 012 sẽ là 10 với %i nhưng là 12 với %d.
- %d nhận giá trị số nguyên là số nguyên thập phân có dấu, tức là nó nhận giá trị âm cùng với giá trị dương nhưng giá trị phải ở dạng thập phân nếu không nó sẽ in ra giá trị rác. Hãy xem xét một ví dụ dưới đây.
- %i nhận giá trị số nguyên là giá trị số nguyên với kiểu thập phân, thập lục phân hoặc bát phân.
Để nhập giá trị ở định dạng thập lục phân - giá trị phải được cung cấp ở trước "0x" và giá trị ở định dạng bát phân - giá trị phải được cung cấp trước "0".
Hãy xem xét một ví dụ sau.
#include <stdio.h> int main(){ int a, b, c; printf("\nNhap vao mot so nguyen: "); scanf("%d", &a); printf("\nNhap vao mot so nguyen he 8 (bat dau bang 0): "); scanf("%i", &b); printf("\nNhap vao mot so nguyen he 16 (bat dau bang 0x): "); scanf("%i", &c); printf("\na = %i, b = %i, c = %i", a, b, c); return 0; }Kết quả:
Nhap vao mot so nguyen: 10 Nhap vao mot so nguyen he 8 (bat dau bang 0): 010 Nhap vao mot so nguyen he 16 (bat dau bang 0x): 0x10 a = 10, b = 8, c = 16Giải thích:
Giá trị thập phân của a là 10 là 10
Giá trị thập phân của b là 10 (bát phân) là 8
Giá trị thập phân của c là 10 (thập lục phân) là 16.
Từ khóa » D Trong Lập Trình C Là Gì
-
%d Là Gì Trong Câu Lệnh Printf, Scanf Ngôn Ngữ Lập Trình C
-
Ý Nghĩa Của "\n" Va "%d" Trong Dòng Lệnh (C) - Diễn Đàn Tin Học
-
Nhập Xuất Cơ Bản Trong C/C++ — Modern C++ - STDIO
-
C Cơ Bản: Định Dạng Trong C - DevIOT
-
[PDF] Bài 6: Các Khái Niệm Cơ Bản Trong Ngôn Ngữ Lập Trình C - FIT@MTA
-
Bài 7. Nhập Xuất Trong C - Lập Trình Không Khó
-
Ý Nghĩa Của "N" Va " %D Là Gì ? Ý Nghĩa Của N Va %D Trong ...
-
C — % S Và% D Có Nghĩa Là Gì Trong Printf Trong Ngôn Ngữ C?
-
Lập Trình C: Bài 2 - Các Thành Phần Trong C - Cách Học
-
Các Kiểu Dữ Liệu Trong Lập Trình C/C++ (Data Type) | TopDev
-
Ngôn Ngữ Lập Trình C Là Gì? Tại Sao Cần Học Lập Trình C
-
Số Trong C
-
Hướng Dẫn Lập Trình C Cho Người Mới Bắt đầu - Openplanning
-
Cú Pháp Xuất Mảng Các Số Nguyên Trong C/C++ Là Gì? - Banhoituidap