2016-08-27 15 views
0

The getchar(); строка дает мне предупреждение: этот код не действует.Внимание: этот код не действует

#include <stdio.h> 

int main() 
{ 
    int this_is_a_number; 

    printf("Please enter a number: "); 
    scanf("%d", &this_is_a_number); 
    printf("You entered %d", this_is_a_number); 
    getchar(); 
    return 0; 
} 

Есть ли решение?

+1

Какой у вас компилятор? И какова была используемая вами командная строка? – user3386109

+0

Помните, что 'int getchar (void);' является прототипом. Поскольку вы не фиксируете возвращаемое значение, компилятор может дать вам предупреждение, но вы можете с этим справиться. – sjsam

+0

Я использую turbo C++ –

ответ

2

getchar() считывает ключ с клавиатуры и возвращает ключ. Вы должны присвоить значение, возвращаемое функцией переменной:

int key; 
key = getchar(); 

Предупреждение говорит вам, что переменные не будут изменены, когда вы называете это так, как вы сделали. Конечно, код имеет некоторый эффект - он читается с клавиатуры, но это все, что он делает.

Я преподавал Turbo C/C++ давным-давно, поэтому я не буду говорить ничего смешного об этом. Это был потрясающий продукт в свое время.