其实关键字volatile大家的说法都差不多,但是很少有一个简单的程序来观测结果或者说状态
OK,上个简单的程序,在这里将很好的说明volatile关键字
1 #include <stdio.h> 1 #include <stdio.h>
2
3 int main(void)
4 {
5 volatile int z = 1;
6 int m = (++z) + (++z) + (++z);
7
8 printf("m = %d\n", m);
9
10 return 0;
11 }
12
如果不加上volatile关键字,在不同的编译器下有不同的结果,有的是10,有的是12,
加上volatile关键字后在gcc上就能得到正常的结果了,但是在VC下依旧不能得到想要的结果,一直没
也没想通为什么,希望知道结果的通知回帖。