很简单的代码在不同编译器(优化选项:默认)下的表现,如果需要移植,结果非你所愿!
C员外 2007-03-15 10:38:56 #include<stdio.h>
void main()
{
int x=10;
volatile int y=3; //volatile特性在v2005下打开有差异
printf("%d,%d\n",(x++,y),y++);
getchar();
}
////////以下运行结果
suselinux10 gcc:4,3
win2/xp+vc6 :3,3 //使用不使用volatile,都一样
xp+vs2005 :3,3 //无volatile
xp+vs2005 :4,3 //使用volatile
如果该代码需要跨平台移植,这种问题该怎么防范?