在 C++ 的 Printf 方法中转义%百分号

使用两个百分号
%%

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 中的任何格式,您也可以使用putsor fputs

#include <iostream>
using namespace std;
 
int main()
{
    puts("You got 80% in Exam");
    return 0;
}

输出

You got 80% in Exam

这就是如何在 C++ 中的 printf 方法中转义百分号。