用sizeof()编写的任何内容都不会在C中执行
sizeof函数(有时称为运算符)用于计算给定参数的大小。如果给定其他一些函数作为参数,则不会以sizeof执行该函数。
在下面的示例中,我们将printf()在循环中放入一条语句。然后,我们将看到输出。
示例
#include<stdio.h>
double my_function() {
printf("This is a test function");
return 123456789;
}
main() {
int x;
x = sizeof(printf("Hello World"));
printf("The size: %d\n", x);
x = sizeof(my_function());
printf("The size: %d", x);
}输出结果
The size: 4 The size: 8
在printf()不执行其存在内部的sizeof()。仅考虑返回类型,并采用其大小。