我想打印变量的值,而不需要指定它的类型。
在C语言中,我可以这样做:
```c printf("%d", variable); ```
但是在C++中,如果我不知道变量的类型,该怎么办?
int main(int argc, char **argv) {
int i = 1;
float f = 0.1;
char s[] = "s";
printf("%i\n", i);
printf("%f\n", f);
printf("%s", s);
return 0;
}
但我期望:
int main(int argc, char **argv) {
int i = 1;
float f = 0.1;
char s[] = "s";
printf("%any_type\n", i);
printf("%any_type\n", f);
printf("%any_type", s);
return 0;
}
问题:C语言中是否有%any_type
类型?
printf
更安全,因为在许多编译器下它会在编译时失败。 - SevenBits1/0
的内容,例如在print_unknown
中。这样,如果你忘记了某个情况,就会遇到失败并单独处理它。printf
是可变参数函数,因此编译器可以自由地生成或不生成警告,如果百分比指示符与参数不匹配。 - Gyapti Jain