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(" !!");