C printf中的双爆炸功能是什么?

C printf中的双爆炸功能是什么?,c,C,我知道(A.K.A.Boug Bangle)在C++中被用作转换为布尔(如)BR>的技巧 但我在米兰的Politecnico上冲浪,我发现了以下代码: int main() { char *p, s[6] = "DBPAY"; int a = 3; p = s; printf("%c", *(p++)); f( &p, a ); printf("%c !!", *p); return 0; } void f(char ** c,

我知道
(A.K.A.Boug Bangle)在C++中被用作转换为布尔(如)BR>的技巧
但我在米兰的Politecnico上冲浪,我发现了以下代码:

int main() {
    char *p, s[6] = "DBPAY";
    int a = 3;
    p = s;
    printf("%c", *(p++));
    f( &p, a );
    printf("%c !!", *p);
    return 0;
}

void f(char ** c, int x) {
    void *z = &z;
    if( strlen(*c) < 2 )
        return;
    printf( "%c", (**c)+x );
    (*c)++;
    f( c, --x );
    return;
} 
有人能解释它的作用吗

printf("%c !!", *p);
打印字符
p
指向,以及一些其他字符,在本例中为
“!!”
。它们无关紧要

printf("%c !!", *p);
类似于

printf("%c",*p);
printf(" !!");

%c
是字符的格式说明符,您可以打印指针指向的字符。星号指示取消对指针的引用。空格和感叹号是将要打印的其他字符。

这意味着有人希望在输出文本中有两个感叹号。没别的了。
printf("%c",*p);
printf(" !!");