Tôi không hiểu %s
và d%
làm gì trong mã C này:
for (i=0;i<sizeof(code)/sizeof(char*); i++) { printf("%s%d%s%d\n", "Length of String ", i, " is ", strlen(code[i])); str = code[i]; printf("%s%d%s%c\n","The first character in string ", i, " is ", str[0]); }
Tôi mới sử dụng ngôn ngữ C và nền tảng của tôi là về Java.
[external_link_head]
- 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 int
Xem 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.
% 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
[external_link offset=1]
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.
% s dành cho chuỗi% d dành cho số thập phân (hoặc int)% c dành cho ký tự
[external_link offset=2]
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.
Đố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].
% 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.).
% (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.
Nguồn: Tổng hợp từ Internet
[external_footer]
Đừng quên đồng hành cùng với ahayne.com ở các bài viết sau để biết thêm nhiều điều thú vị nhé!
--------↓↓↓↓↓↓--------
Tặng bạn Mã Giảm Giá Lazada, Shopee, Tiki hôm nay
Công cụ Mã Giảm Giá của Ahayne được cập nhật Mã Giảm Giá mới liên tục và ngay lập tức từ các sàn thương mại điện tử uy tín. Sử dụng cực dễ dàng, bạn không cần phải copy và dán thủ công Mã Giảm Giá như trước kia nữa.- Cách 1: Nhấn vào "Lấy code" và "Sao chép", hệ thống sẽ tự động chuyển bạn đến trang Lazada/Shopee/Tiki và lưu mã vào tài khoản của bạn. Mã Giảm Giá sẽ TỰ ĐỘNG áp dụng trực tiếp khi bạn đặt mua hàng.
- Cách 2 (chỉ cho sàn Shopee): Gõ tên sản phẩm hoặc dán link sản phẩm vào ô bên dưới, Ahayne tìm giúp bạn Mã Giảm Giá phù hợp. Thực hiện tiếp các bước như ở Cách 1 để lưu mã giảm giá vào tài khoản Shopee của bạn
- Các mã giảm giá đều có giới hạn về số lượng và thời gian cũng như sẽ có điều kiện áp dụng cho từng sản phẩm đi kèm, bạn lưu ý dùng sớm nhất có thể để không bỏ lỡ nhé.
- Nên chọn các mã giảm giá có điều kiện "áp dụng toàn sàn", "áp dụng toàn ngành hàng", "áp dụng cho tất cả các sản phẩm"... như vậy bạn hoàn toàn yên tâm là 100% sẽ được giảm giá khi mua bất cứ sản phẩm nào.Thường xuyên ghé ahayne trước khi mua sắm, để săn được mã giảm giá ưng ý nhé.
---↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓---