欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

解析一个有关sizeof用法的题目--sizeof(i++)

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

复制代码 代码如下:

  #include <stdio.h>
  int main()
  {
  int i;
  i = 10;
  printf("%d\n", i);
  printf("%d\n", sizeof(i++));
  printf("%d\n", i);
  return 0;
  }

这三行输出应该是什么?
答案是:
10
4
10
第三个为什么不是11? i为什么没有自增?
请看C++标准;
5.3.3 sizeof
The sizeof operator yields the number of bytes in the object representation of its operand. The operand is either an expression, which is an unevaluated operand (Clause 5), or a parenthesized type-id.
也就是说,如果sizeof的操作数是一个表达式的话,这个表达式时不会被计算的。
sizeof当预处理看就行了,它后面括号里的东西,根本不求值,只根据C的一堆规则判断结果类型,然后返回结果类型的大小
另外一个操作符typeid也是如此。

上一篇:C语言实现修改文本文件中特定行的实现代码

栏    目:C语言

下一篇:C语言中字符串和数字的相互转换实现代码

本文标题:解析一个有关sizeof用法的题目--sizeof(i++)

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/4336.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有