%D Là Gì

  -  
Biểu tượng %s%d%s%d biểu thị điều gì?Tại sao có rất nhiều trong số họ?Là dấu phẩy được sử dụng ở đây để ghép nối thay vì +?
Họ hàm printf () sử dụng ký tự % làm trình giữ chỗ. Khi gặp %, printf đọc các ký tự theo sau % để xác định việc cần làm:

%s - Take the next argument and print it as a string%d - Take the next argument and print it as an intXem bài viết Wikipedia này để có một bức ảnh đẹp: chuỗi định dạng printf

\n ở cuối chuỗi dành cho ký tự trả về dòng mới/vận chuyển.

Bạn đang xem: %d là gì


% ký hiệu được gọi là một định dạng định dạng. Ví dụ:% d yêu cầu printf () in một số nguyên. % s để in một chuỗi (char *), v.v. Bạn thực sự nên tìm nó ở đây: http://google.com/search?q=printf+format+specifier

Không, dấu phẩy không được sử dụng để nối chuỗi. Dấu phẩy là để phân tách các đối số được truyền cho một hàm.


Đối số đầu tiên biểu thị giữ chỗ cho các biến/tham số theo sau.<.__.> Ví dụ: %s chỉ ra rằng bạn đang mong đợi một String là tham số in đầu tiên của bạn.<.__.> Java cũng có printf, rất giống nhau.


% d được in dưới dạng int% s được in dưới dạng chuỗi% f được in dưới dạng dấu phẩy động

Cần lưu ý rằng không đúng khi nói rằng điều này khác với Java. Printf là viết tắt của định dạng in, nếu bạn thực hiện một định dạng in trong Java, đây chính xác là cùng một cách sử dụng. Điều này có thể cho phép bạn giải quyết các vấn đề thú vị và mới trong cả C và Java!


"%s%d%s%d\n" là chuỗi định dạng; nó báo cho hàm printf cách định dạng và hiển thị đầu ra. Bất cứ điều gì trong chuỗi định dạng không có % ngay trước chuỗi được hiển thị như hiện tại.

%s và %d là các chỉ định chuyển đổi; họ nói với printf cách diễn giải các đối số còn lại. %s nói với printf rằng đối số tương ứng sẽ được coi là một chuỗi (theo thuật ngữ C, chuỗi 0 kết thúc của char); loại đối số tương ứng phải là char *. %d nói với printf rằng đối số tương ứng sẽ được coi là một giá trị nguyên; loại đối số tương ứng phải là int. Vì bạn đến từ nền Java, điều quan trọng cần lưu ý là printf (giống như các hàm biến đổi khác) đang dựa vào bạn để cho nó biết các loại đối số còn lại là gì . Nếu chuỗi định dạng là "%d%s%d%s\n", printf sẽ cố gắng coi "Length of string" là một giá trị nguyên và i là một chuỗi, với kết quả bi thảm.

Xem thêm: Yas Là Phí Gì - Các Từ Viết Tắt, Phụ


2
26 thg 1, 2012John Bode
% s dành cho chuỗi% d dành cho số thập phân (hoặc int)% c dành cho ký tự

Nó dường như đang nhai qua một loạt các ký tự và in ra bất kỳ chuỗi nào tồn tại bắt đầu ở mỗi vị trí tiếp theo. Các chuỗi sẽ dừng lại ở null đầu tiên trong mỗi trường hợp.

Dấu phẩy chỉ phân tách các đối số cho một hàm có số lượng đối số biến đổi; con số này tương ứng với số% args trong bộ mô tả định dạng ở phía trước.


2
26 thg 1, 2012Rayfleck
Đối số đầu tiên cho printf là một chuỗi các định danh.

% s đề cập đến một chuỗi% d đề cập đến một số nguyên% c đề cập đến một ký tự. Do đó:% s% d% s% c\n in chuỗi "Ký tự đầu tiên trong sting",% d in i,% s print "là" và% c in str <0>.


1
26 thg 1, 2012Aza
% s% d% s% d\n là một chuỗi định dạng. Nó được sử dụng để xác định cách thông tin được định dạng trên một đầu ra. ở đây, chuỗi định dạng được cho là in chuỗi theo sau là một chữ số theo sau là một chuỗi và sau đó lại là một chữ số. Biểu tượng cuối cùng\n đại diện cho lợi nhuận vận chuyển đánh dấu sự kết thúc của một dòng. Trong C, các chuỗi không thể được nối bằng + hoặc, mặc dù bạn có thể kết hợp các đầu ra khác nhau trên một dòng bằng cách sử dụng các chuỗi định dạng phù hợp (việc sử dụng các chuỗi định dạng là định dạng thông tin đầu ra.).

Xem thêm: Ev/Ebitda Là Gì - Ưu Nhược Điểm Và Công Thức Tính Ebitda


0
26 thg 1, 2012sidharth sharma
% (chữ cái) biểu thị loại định dạng của văn bản thay thế. % s chỉ định một chuỗi,% d một số nguyên và% c một char.


0
26 thg 1, 20123Pi
Bản in của chúng tôi in printf cho bool là gì?

In các ký tự thập lục phân trong C

Có cách nào để chỉ định có bao nhiêu ký tự của một chuỗi để in ra bằng printf () không?

Giá trị chưa ký trong C

Tôi có thể hiển thị giá trị của một enum với printf () không?

Sử dụng float với sprintf () trong C nhúng

Mục đích của các sửa đổi h và hh cho printf là gì?

Điều gì cách chính xác để sử dụng printf để in clock_t?

Có chức năng C như sprintf trong nhân Linux không?

Định dạng đúng định dạng cho double trong printf

Làm thế nào để in "không dấu dài" trong C?

In 0 hàng đầu trong C?

Làm thế nào để in một char không dấu trong C?

Làm thế nào để hiển thị số thập lục phân trong C?

Làm thế nào để tôi căn chỉnh một số như thế này trong C?

Làm thế nào để in các đối số argv từ chức năng chính trong C?

in số lượng khoảng trắng bằng printf trong C

Công cụ xác định định dạng% * s có nghĩa là gì?

Làm thế nào để in các ký tự đặc biệt rõ ràng trong C?

Làm cách nào để in một size_t mà không có cảnh báo trong mingw-w64 gcc 7.1?