sizeof()的()中算术运算不改变变量的值
来源:互联网 发布:国外期刊 数据库 编辑:程序博客网 时间:2024/06/08 15:38
sizeof()的()中算术运算不改变变量的值
.
.
曾经遇到过这样的有趣问题,在打印sizeof(i++)之后,再打印i的值的时候,发现和之前预期的i自增1不一样,i的值没有改变,于是做了下面的试验:
#include <stdio.h>
int fun(int a)
{
return 2*a;
}
int main()
{
int i = 10;
printf("i:%d\n",i);
printf("sizeof(i++):%d\n",sizeof(i++));//是否是sizeof(i++),这sizeof中不影响里面的运算?
//仅仅进返回大小而已,让里面的运算都失效?
printf("i:%d\n\n\n",i);
i = 10;
printf("i:%d\n",i);
printf("fun():%d\n",fun(i++)); //10 20 11 12的结果进一步证明了上面的猜测,
//与sizeof运算符有关
printf("i++:%d\n",i++);
printf("i++:%d\n",i++);
return 0;
}
//二次感悟:貌似就是这样的,在sizeof中进行算数运算,就不会改变变量的值。
//但是其他的函数就会的,比如自定义的fun()函数、printf()函数
感觉挺有意思的,但是现在还是不是很明白为什么这样设计,但是希望以后的深入学习中能够更多的理解到里面的设计思想吧。
- sizeof()的()中算术运算不改变变量的值
- 1)算术运算;2)指针地址操作;3)位运算 不使用第三方变量交换两个变量的值
- bash的算术运算(整理中)
- 【课堂】【算术运算中数据类型的转换】
- Java 变量,数据类型的转换,若干算术运算符
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- 指针的算术运算
- js的算术运算
- matlab的算术运算
- 指针的算术运算
- 指针的算术运算
- 算术运算的应用
- 指针的算术运算
- 算术运算符的运算
- 【Rails】有关TDD测试入门
- 大数减法
- 一个骰子,6面,1个面是 1, 2个面是2, 3个面是3,问平均掷多少次能使1、2、3都至少出现一次。
- 初段——2440地址空间理解和jlink烧写SRAM
- makefile 中常见变量及函数
- sizeof()的()中算术运算不改变变量的值
- 基于结构;基于对象;面向对象;基于接口四种C++编程思想的实例分析
- windows命令行查看端口占用
- (poj1.1.3)1326(直叙式模拟)
- JAVA初学之异常处理
- 【黑马程序员】C#之继承
- dpkg: error processing /var/cache/apt/archives/binutils-msp430_2.22~msp20110716p5-1_i386.deb
- Java NIO系列教程(三) Buffer
- 皇冠假日工人房官方没那个你没发过麻烦