其實關(guān)鍵字volatile大家的說法都差不多,但是很少有一個簡單的程序來觀測結(jié)果或者說狀態(tài)
OK,上個簡單的程序,在這里將很好的說明volatile關(guān)鍵字
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關(guān)鍵字,在不同的編譯器下有不同的結(jié)果,有的是10,有的是12,
加上volatile關(guān)鍵字后在gcc上就能得到正常的結(jié)果了,但是在VC下依舊不能得到想要的結(jié)果,一直沒
也沒想通為什么,希望知道結(jié)果的通知回帖。