printf函数的实现vc6.0和win_tc

来源:互联网 发布:无尽武装听书软件 编辑:程序博客网 时间:2024/06/05 23:49

看一段代码:

  int a=2,*p=&a,*q=&a;

  printf("%d%d\n",*p++,*(q++));

  p=&a;q=&a;

  prrintf("%d%d\n",*p,(*q)++);

下面是VC6.0



下面是win_tc

结论:不同的编译器对printf的实现是不一样的,vc的实现是自左向右计算,(像是队列实现的)对数据输出;而win_tc刚好相反,是从右向左对各个参数进行计算,(像是堆栈)输出结果自然会不一样;
注:win_tc是和turbo  c 差不多的,我对第一种输出不是很理解。

原创粉丝点击