这个是未定义行为,无解
这个地方涉及两个未定义行为
一个是自增运算的副作用发生时间,即运算符的求值顺序问题
另一个是函数调用约定的入栈顺序对参数的求值顺序的问题
两者在标准中都是未定义的
参见stackoverflow提问对类似代码解释
*t指向的地址里的就是数字1的ascii码值 ++*t 就成为了2的ascii码值 此时*t就是指向2
所以两个输出都是2
printf("%c, %c\n", *t,++*t);
此语句是先处理++*t操作,然后再输出,这时,s已经变成了2357
故输出2,2
C语言_071_指针的定义和使用_上