这个问题只与c语言的语法规则有关,而与如何实现无关!
无论在什么c编译器中,其结果都是一样的。否则就不能称之为“语言”了
对于:假设i=2
printf("%d,%d",i,i++);//这种情况显示为:3,2
printf("%d,%d",i,++i);//这种情况显示为:3,3
printf("%d,%d",i++,i);//这种情况显示为:2,3
printf("%d,%d",++i,i);//这种情况显示为:3,3
第一、二个语句的结果是非正常的,估计是你看错了结果!
printf("%d,%d",i,i++);//应该显示为:2,2
printf("%d,%d",i,++i);//应该显示为:2,3
如果不是你看错了,那么你使用的c编译器有问题,请放弃使用
尽管c语言非常灵活,但也没有灵活到连语法规则都可以改变!
对于楼上几位“高手”非要把“错误”解释的合情合理的做法,真是佩服的“五体投地”
|