int b = 0;
int c = 0;
int main(int argc, const char *argv[])
{
printf("%d %d %d %d %d",b,b++,b,++b,b);
printf("%d %d %d %d %d",c,++c,c,c++,c);
return 0;
}
结果为 2 1 1 1 0 2 2 1 0 0
这个能够理解,由于printf是从后往前进行的,
而:
int main(int argc, const char *argv[])
{
int b = 0;
int c = 0;
printf("%d %d %d %d %d",b,b++,b,++b,b);
printf("%d %d %d %d %d",c,++c,c,c++,c);
return 0;
}
实验结果为 2 1 2 2 2 2 2 2 0 2
这是为什么?
相关文章
- Python中的身份运算符:揭开“is”与“is not”的神秘面纱
- tomcat与nginx的区别
- c语言函数定义时涉及的基本要素是什么,C语言基础:函数的定义与调用
- 子网掩码255.255.0.0与255.255.255.0的区别
- Docker Desktop 安装与无法运行(Docker Desktop failed to initialize)的诊断
- Docker数据卷挂载命令volume(-v)与mount的区别
- ws协议与http协议的异同_Socket、WebSocket 、HTTP 与 TCP有什么区别
- 自然语言处理的语音识别与合成:技术与应用
- 使用LiteLLM与中专API进行大模型调用的实战指南
- 繁华模拟赛 David与Vincent的博弈游戏