int i=0;printf("%d%d",++i,i++); printf("%d%d",i++,++i);为啥输出是2034啊?
参考:https://blog.csdn.net/weixin_43919932/article/details/88544728?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163859727416780265480563%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163859727416780265480563&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-2-88544728.pc_v2_rank_blog_default&utm_term=printf&spm=1018.2226.3001.4450
++i 自增后输出值。 i++ 先输出值后自增。 printf 参数从右向左压栈。
printf("%d%d",++i,i++); 从右向左看,i++,立刻输出i的值,即输出0,然后i自增到1. ++i 先自增到2,在输出i本身,即输出2. 按照两个参数的位置最终答案为 2 0.
printf("%d%d",i++,++i); 函数同理