Tôi muốn in "%SomeString%"
trong C.Làm thế nào để in% s trong C?
Điều này có đúng không?
printf("%%s%",SomeString);
Tôi muốn in "%SomeString%"
trong C.Làm thế nào để in% s trong C?
Điều này có đúng không?
printf("%%s%",SomeString);
Không, %% đầu ra%, vì vậy đúng cú pháp là:
printf("%%%s%%",string);
số
Sử dụng %%%s%%
giải thích: %% thoát thành ký tự%. % s là mã kiểm soát. –
Giải pháp này giúp bạn không biết các ký tự printf đặc biệt như '%' hoặc '\' sẽ được in ra sao.
#include <stdio.h>
int main(void)
{
const char str[]="MyString";
printf("%c%s%c",'%',str,'%');
return 0;
}
Đó có phải là một chút overkilling? 'printf' có một charachter thoát thích hợp cho'% 'vậy tại sao không sử dụng nó? Nếu vấn đề là nhớ nó ... tốt, nó chỉ là một tìm kiếm của Google đi. – nico
Đừng làm cho tôi sai, tôi sẽ không sử dụng điều này nếu tôi biết các chuỗi %% hoặc \\ nhưng nó vẫn còn tốt để biết theo ý kiến của tôi. – INS
Vâng, nó tốt để nhận ra bạn có thể làm điều này. Tôi nghĩ rằng nó sẽ giúp mọi người hiểu những gì printf đang làm. Nhưng đừng làm điều đó trong sản xuất. :) – BobbyShaftoe
printf("%%%s%%", string);
nên sản lượng một% mỗi bên.
+1: Word for word những gì tôi đã có trong hộp câu trả lời. :) – sdolan