目录
自增的区别
假设一个变量 i 为0
int i = 0
自增的2种用法
#include <stdio.h> int main() { int i = 0; i++; printf("这是i++的结果:%d\n",i); // 输出i的值 i = 0; // 使 i 的值重新为0 ++i; printf("这是++i的结果:%d\n",i); // 输出i的值 }
他们的输出结果为:
这是i++的结果:1
这是++i的结果:1
看到这里就在想他们的区别是什么,得到的结果都是一样的那我是不是就可以随便用了??
i++ 详解
i++ 他是先给赋值在加 等同于 i = i, i = i+1
#include <stdio.h> int main() { int i = 0; i++; // 等同于 i = i , i = i+1; }
i++执行流程图
验证方法:
#include <stdio.h> int main() { int i = 0; printf("这是i++第一次调用的值:%d\n", i++); printf("这是i++第二次调用的值:%d\n", i); }
运算结果:
分析:
这是i++第一次调用的值:0
这是i++第二次调用的值:1
看出了 i++ 是先调用 i 值在进行计算
只有调用过后下一次调用这个i的时候会使用 i 的值
++i 详解
++i 他是先加在赋值 等同于 i = i+1
#include <stdio.h> int main() { int i = 0; ++i; // 等同于 i = i+1; }
++i执行流程图
验证方法:
#include <stdio.h> int main() { int i = 0; printf("这是第一次调用++i的值:%d\n", ++i); printf("这是第二次调用++i的值:%d\n", i); }
运算结果:
这是第一次调用++i的值:1
这是第二次调用++i的值:1分析
看出了是先进行运算在调用的值
总结
i++ 和++i 只有运行过程有区别
如果觉得我讲的还可以点个赞支持一下