其實關鍵字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下依舊不能得到想要的結果,一直沒
也沒想通為什么,希望知道結果的通知回帖。