Удаление содержимого переменной в C - PullRequest
0 голосов
/ 18 февраля 2011

Я хочу удалить содержимое переменной int, когда она попадет в оператор else.

Программа запрашивает число от 1 до 5, используя scanf, и число сохраняется в переменной 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 ]

2 голосов
/ 18 февраля 2011

Просто установите значение int на что-то другое, например:

theValue = 0;
0 голосов
/ 18 февраля 2011

Вы, вероятно, ищете цикл 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...