为什么(x+)不增加x?下面是在dev c+windows中编译的代码:#include <stdio.h>int main() {
int x = 5;
printf("%d and ", sizeof(x++)); // note 1
printf("%d\n", x); // note 2
return 0;}我希望x执行后为6岁附注1..然而,产出是:4 and 5有谁能解释一下为什么x之后不增加附注1?
3 回答
慕容708150
TA贡献1831条经验 获得超4个赞
sizeof
sizeof
short func(short x) { // this function never gets called !! printf("%d", x); // this print never happens return x;}int main() { printf("%d", sizeof(func(3))); // all that matters to sizeof is the // return type of the function. return 0;}
2
short
double
:
double func(short x) {// rest all same
8
慕码人2483693
TA贡献1860条经验 获得超9个赞
sizeof(foo)
6.5.3.4:
size of运算符产生其操作数的大小(以字节为单位),该操作数可能是一个表达式或类型的括号大小名称。大小由操作数的类型确定。结果是一个整数。如果操作数的类型是可变长度数组类型,则计算操作数;否则,将不计算操作数,结果是整数常量。
malloc(3)
- 3 回答
- 0 关注
- 369 浏览
添加回答
举报
0/150
提交
取消