【发布时间】:2011-06-29 12:24:17
【问题描述】:
我想在一个 int 变量到达 else 语句时删除它的内容。
程序使用 scanf 请求一个介于 1 和 5 之间的数字,并且该数字存储在 int 变量中,如果数字不在 1 和 5 之间,则将用户定向到 else 语句,我使用了 goto 语句回到开头,我想知道如何在 else 语句中删除变量的内容,这样我就不会创建连续循环。
使用 getchar 它是 fpurge(stdin)。我正在运行 Mac OS X。
下面是代码:
#include <stdio.h>
int main (int argc, const char * argv[])
{
int code;
start:
puts("Please type your error code.");
puts("Range 1-5: ");
scanf("%d", &code);
switch(code)
{
case 1:
printf("INFORMATION\n");
case 2:
printf("INFORMATION\n");
case 3:
printf("INFORMATION\n");
case 4:
printf("INFORMATION\n");
case 5:
printf("INFORMATION\n");
default:
printf("INFORMATION\n");
goto start;
}
}
【问题讨论】:
-
发布您的代码,为什么必须使用 goto 语句?这是作业吗?
-
你的意思是通过“删除 int var 的内容”来清除 var 吗?
-
我知道这是一段令人作呕的代码,但我只是将它用作这个问题的快速演示。
标签: c