Cách sử dụng %i và %d để in số nguyên trong C bằng printf()

Cach Su Dung I Va D De In So Nguyen Trong C Bang Printf



Trong ngôn ngữ lập trình C, các bộ xác định định dạng đóng một vai trò quan trọng vì chúng giúp bạn hiển thị một giá trị ở đầu ra. Các bộ xác định định dạng này được sử dụng với hàm printf() để chỉ định loại dữ liệu cần được xuất ra. Một trong những định dạng định dạng được sử dụng rộng rãi trong ngôn ngữ lập trình C là %Tôi %d được sử dụng để in các số nguyên.

Nếu bạn không biết về %Tôi %d định dạng, hãy làm theo hướng dẫn của bài viết này.

%i Trình xác định định dạng

Trong ngôn ngữ lập trình C, các %Tôi được sử dụng để in ra một số nguyên có dấu khi được sử dụng với hàm printf(). Các số nguyên đã ký là những số có thể dương hoặc âm. Trong lập trình C, khi sử dụng %i, giá trị đối số được truyền phải là một biểu thức hoặc một kiểu số nguyên sẽ tự động đánh giá trong một kiểu dữ liệu số nguyên. Bạn cũng có thể sử dụng %Tôi trình xác định để đọc một giá trị ký tự nằm trong phạm vi của một số nguyên đã ký.







%d Công cụ xác định định dạng

Các %d mặt khác, trình xác định định dạng được sử dụng để in ra số nguyên không dấu trong ngôn ngữ lập trình C. Ở đây số nguyên không dấu là số nguyên dương. Trong ngôn ngữ C khi bạn sử dụng %d thì giá trị của kiểu đối số int .



sự khác biệt

Cả hai %Tôi %d bộ xác định định dạng thường được sử dụng trong ngôn ngữ lập trình C để in số nguyên. Chúng có thể trông giống nhau về mặt sử dụng cũng như hoạt động giống nhau khi sử dụng hàm printf().



Hãy theo dõi mã mẫu trong đó sử dụng cả hai chỉ định định dạng.





#include

int chủ yếu ( ) {

int chữ số ;

bản inf ( 'Vui lòng nhập bất kỳ chữ số nào:' ) ;

quét ( '%Tôi' , & chữ số ) ;

bản inf ( ' \N Chữ số là: %i \N ' , chữ số ) ;

bản inf ( 'Chữ số là: %d \N ' , chữ số ) ;

trở lại 0 ;

}

Trong mã này, trước tiên chúng ta khởi tạo một biến và lấy giá trị từ người dùng bằng cách sử dụng scanf(). Sau đó, chúng tôi hiển thị đầu ra bằng cách sử dụng %d và %i .

Đầu ra:



Cả hai đều cung cấp một đầu ra tương tự khi được sử dụng với printf() chức năng. Không quan trọng bạn nhập giá trị dương hay âm, kết quả sẽ luôn giống nhau.

Tuy nhiên, nếu nhìn vào hàm scanf, chúng ta có thể phân biệt chúng một cách chính xác. Trong đoạn mã trên, nếu chúng ta nhập một giá trị thập phân như “012” . Nếu chúng ta sử dụng “%d” thay vì %Tôi, bạn sẽ nhận được đầu ra 12. Lý do là %d bỏ qua giá trị 0 bằng 0 từ đầu vào của người dùng.

#include

int chủ yếu ( ) {

int chữ số ;

bản inf ( 'Vui lòng nhập bất kỳ chữ số nào:' ) ;

quét ( '%d' , & chữ số ) ;

bản inf ( ' \N Chữ số là: %i \N ' , chữ số ) ;

bản inf ( 'Chữ số là: %d \N ' , chữ số ) ;

trở lại 0 ;

}

đầu ra

Nếu cùng một giá trị được nhập bằng cách sử dụng %Tôi như trong hàm scanf(), đầu ra sẽ là 10 trong trường hợp này. Lý do là %Tôi in giá trị thập phân của 012 (biểu diễn bát phân).

#include

int chủ yếu ( ) {

int chữ số ;

bản inf ( 'Vui lòng nhập bất kỳ chữ số nào:' ) ;

quét ( '%Tôi' , & chữ số ) ;

bản inf ( ' \N Chữ số là: %i \N ' , chữ số ) ; // đầu ra giày

bản inf ( 'Chữ số là: %d \N ' , chữ số ) ; // đầu ra giày

trở lại 0 ;

}

Phần kết luận

Trình xác định định dạng là một mẫu ban đầu bắt đầu bằng % dấu hiệu và nó thường cho chúng ta biết loại dữ liệu nào được đưa vào đầu vào và dữ liệu nào sẽ được hiển thị. %d %Tôi là hai chỉ định được sử dụng rộng rãi trong lập trình C. Chúng giống nhau khi được sử dụng với hàm printf() nhưng chúng cho ra các kết quả khác nhau khi được sử dụng với hàm scanf().