c语言printf函数实现问题

/**********************
int a = 9;
printf("a is %d\na is %d\na is %d\n",a,a++,++a);
**********************/

这段代码执行结果是
a is 11
a is 10
a is 11
这个结果我不太明白,为什么?

首先在printf函数中对语句的执行顺序是从右到左。
其次,对于++和—只有当所在一行语句结束后才将变量的值改变。

http://blog.sina.com.cn/s/blog_7ea513bf0100s1rd.html

printf函数的执行顺序是由右到左的

//简单实现C语言中printf函数
#include
#include
#include
using namespace std;

void print(const char* str)//处理只有字符串的时候
{
    cout
}

template
void print(const char* str, T t, Args... args)......
答案就在这里:C++实现C语言printf函数
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?