printf的参数赋值的顺序
#include <stdio.h>
int main()
{
int b=3;
int arr[]={6,7,8,9,10};
int *ptr = arr;
printf("%d\n",*ptr);
*(ptr++) += 123;
printf("%d,%d\n",*ptr,*(++ptr));
//printf的参数赋值顺序是从右向左
int i=5;
printf("%d,%d\n",i++,i);//5,5
i=5;
printf("%d,%d\n",++i,i);//6,5
i=5;
printf("%d,%d\n",i,i++);//5,5
i=5;
printf("%d,%d\n",i,++i);//6,6
}
评价:
(1)、自增符号在变量前面,则变量先自增再参与其他运算;自增符号在变量后面,则变量先参与其他运算再自增
(2)、printf的参数赋值从右往左。
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个 java 空指针异常的解决过程
· 揭开 SQL Server 和 PostgreSQL 填充因子的神秘面纱
· 没有调度器的协程不是好协程,零基础深入浅出 C++20 协程
· 别做抢活的导演:代码中的抽象层次原则
· 从 Redis 客户端超时到 .NET 线程池挑战
· 会Vibe Coding的同事:我一个人干掉整个技术部!
· dotnetty 内存泄漏的BUG修复了
· 20250709 - GMX V1 攻击事件: 重入漏洞导致的总体仓位价值操纵
· Apipost 的AI功能真的还不错啊!建议后端开发和测试人员了解
· 面试官:如何实现大模型连续对话?