Я создал очень простую программу с меню,
что принять значение, а затем запомнить его в
значение локальной переменной, и, наконец, с
Второй вариант - программа печатает значение.
мой вопрос:
Почему программа работает, только если я добавляю "ч"
к параметру scanf?
Другими словами: какие существуют отношения
между scanf () и моей локальной переменной типа int?
спасибо!
p.S. (Я использовал Dev-C ++ (GCC) для его компиляции.
С Visual Studio это работает)
#include <stdio.h>
main () {
int value = 0;
short choice = 0;
do {
printf("\nYour Choice ---> ");
scanf("%d", &choice); /* replace with "%hd" and it works */
switch (choice) {
case 1:
printf("\nEnter a volue to store ");
scanf("%d", &value);
getchar();
printf("\nValue: %d", value);
break;
case 2:
printf("\nValue: %d", value);
break;
}
} while (choice < 3);
getchar();
}