删除C中的变量内容

时间:2011-02-18 00:30:19

标签: c

我想在获取else语句时删除int变量的内容。

程序使用scanf请求1到5之间的数字,并且数字存储在int变量中,如果数字不在1到5之间,那么用户将被定向到else语句并且我使用了goto语句把它带回到开始,我想知道如何在else语句中删除变量的内容,所以我不创建一个连续循环。

使用getchar它是fpurge(stdin)。我正在运行Mac OS X.

以下是该代码:

包括

int main(int argc,const char * argv []) {

int code;

开始:

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;
}

}

2 个答案:

答案 0 :(得分:2)

只需将int值设置为其他值,例如:

theValue = 0;

答案 1 :(得分:0)

你可能正在寻找一个do ... while循环

编辑不要忘记您的break陈述!!

do
{
    puts("Please type your error code.");
    puts("Range 1-5: ");
    scanf("%d", &code);  

    switch(code)
    {
        case 1:
            printf("INFORMATION\n");
            break;

        case 2:
            printf("INFORMATION\n");
            break;

        case 3:
            printf("INFORMATION\n");
            break;

        case 4:
            printf("INFORMATION\n");
            break;

        case 5:
            printf("INFORMATION\n");
            break;

        default:
            printf("INVALID CODE\n");break;
    }

} while(code<1 || code> 5);