【发布时间】:2013-02-18 01:16:37
【问题描述】:
有人可以解释一下为什么这不起作用:
int DIM = 128, hDIM = DIM/2 , dDIM = DIM*2;
int main(int argc, char **argv){
DIM *= 2;
printf("\n Double DIM is %d \n",dDIM);
}
为什么打印的是 256 而不是 512?
【问题讨论】:
-
更改
DIM不会自动更改dDIM,dDIM具有与您初始化它相同的值,除非您直接更改它(或通过指针或引用,但这些都不适用在这里) -
我如何编码让它动态变化?
-
C++ 中没有变量根据彼此的值自动更新的概念——至少不是语言内置的。如果你想更新这两个变量,你需要自己更新这两个变量。
-
“函数”是关于变量动态变化的概念。所以 halfDim() 和 doubleDim() 可以动态计算你想要的
-
话虽如此,你可以使用#defines 来做你想做的事,但严重不推荐
标签: c variables dynamic global-variables