为什么我的 while 循环没有在这个 switch case 中重复?
Why my while loop in not getting repeated in this switch case?
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
int if_again = 1;
int c = 1;
switch (a)
{
case 1:
while (if_again == 1)
{
scanf("%d", c);
if (c == 1)
{
if_again == 1;
}
else
{
if_again == 0;
}
}
}
return 0;
}
它只在输入两次 1 后终止,但它应该一直重复直到输入 0。我的代码有什么问题?
scanf 需要你给它的变量的基地址。所以 scanf("%d, c);
需要 scanf(%d, &c);
下面的代码也是错误的:
if (c == 1)
{
if_again == 1;
}
编译器认为您是在将“if_again”与 1 进行比较。我认为您是在尝试将变量设置为 1?在那种情况下这样做:
if (c == 1)
{
if_again = 1;
}
else
语句也是如此。
还有,为什么会有switch语句?如果你想看到它a
是1,那么就给一个if
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
int if_again = 1;
int c = 1;
switch (a)
{
case 1:
while (if_again == 1)
{
scanf("%d", c);
if (c == 1)
{
if_again == 1;
}
else
{
if_again == 0;
}
}
}
return 0;
}
它只在输入两次 1 后终止,但它应该一直重复直到输入 0。我的代码有什么问题?
scanf 需要你给它的变量的基地址。所以 scanf("%d, c);
需要 scanf(%d, &c);
下面的代码也是错误的:
if (c == 1)
{
if_again == 1;
}
编译器认为您是在将“if_again”与 1 进行比较。我认为您是在尝试将变量设置为 1?在那种情况下这样做:
if (c == 1)
{
if_again = 1;
}
else
语句也是如此。
还有,为什么会有switch语句?如果你想看到它a
是1,那么就给一个if