【发布时间】:2021-01-31 20:43:51
【问题描述】:
我正在尝试进行一些基本的数字递增,但我得到了一些奇怪的垃圾值。 (这在 C# 中有效,但在 C 中无效)。有人能告诉我为什么这不起作用吗?
while (1)
{
int command = 0;
printf ("Action: ");
scanf ("%d", &command);
int countX, countY, countZ = 0;
if (command == 1)
{
countX++;
}
if (command == 2)
{
countY++;
}
if (command == 3)
{
countZ++;
}
if (command == 0)
{
printf ("x: %d, y: %d, z: %d", countX, countY, countZ);
}
}
【问题讨论】:
-
您认为初始化了多少变量?正确答案是:1.countX,countY没有初始化。
-
您应该探索如何在编译器中打开警告。在我的设置中,这永远不会编译(故意)。
标签: c if-statement variables while-loop initialization