【问题标题】:Removing contents of variable in C在 C 中删除变量的内容
【发布时间】: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


【解决方案1】:

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

theValue = 0;

【讨论】:

    【解决方案2】:

    您可能正在寻找一个 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);
    

    【讨论】:

    • 如何在“switch case”中实现这一点?
    • 哎呀,是的。该死的休息声明!谢谢 - 正如你可能知道的那样,我确实处于学习曲线中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2017-12-24
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多