使用两个百分号 %%
printf()
方法使用百分号(%
)作为格式说明符的前缀。
例如:
要在prinf()
方法中使用数字,我们使用 %d,但如果您真的想在字符串中使用百分号怎么办。
#include <iostream>
using namespace std;
int main()
{
printf("You got 80% in Exam");
return 0;
}
输出
main.cpp: In function ‘int main()’:
main.cpp:15:25: warning: format ‘%i’ expects a matching ‘int’ argument [-Wformat=]
15 | printf("You got 80% in Exam");
| ~~^
| |
| int
You got 80 1133276632n Exam
如您所见,它没有按预期打印输出。
如果要在printf()
方法转义百分号,可以使用 % 两次 ( %%
)。
这是一个例子:
#include <iostream>
using namespace std;
int main()
{
printf("You got 80%% in Exam");
// With % specifier for float
printf("You got %.f%% in Exam", 87.25);
return 0;
}
输出
You got 80% in Exam
You got 87.25% in Exam
如果您不需要 String 中的任何格式,您也可以使用puts
or fputs
。
#include <iostream>
using namespace std;
int main()
{
puts("You got 80% in Exam");
return 0;
}
输出
You got 80% in Exam
这就是如何在 C++ 中的 printf 方法中转义百分号。