任何人都可以告诉我为什么以下代码给他以下答案
#define MAN(x,y) (x>y)?x:y
#include <stdio.h>
int main(void)
{
int x = 10;
int y = 5;
int k = 0;
k = MAN(++x, y++);
printf("%d%d%d", x, y, k);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:12 6 12怎么样?
该volatile关键字告诉编译器不要优化带前缀的变量.变量可能在运行时由未知源(编译器不知道)可能由外部中断等改变.
还有其他优点volatile吗?是否volatile适用于从文件中读取?