Рассмотрите два кода. Почему они дают разные выходы, хотя одно значение hass было присвоено i, 'i' - символ в обоих кодах.Корпус выключателя работает по-другому
первый код -> (здесь присваивается значение I непосредственно)
void main()
{
char i=3;
clrscr();
switch(i)
{
default : printf("\nHi..\n");
break;
case 1:printf("\na");
break;
case 2:printf("\nb\n");
break;
case 3:printf("\nc");
break;
}
}
второй с помощью Printf-зсапЕ --->
void main()
{
char i;
printf("ENTER i");
scanf("%c",&i);
clrscr();
switch(i)
{
default : printf("\nHi..\n");
break;
case 1:printf("\n\na");
break;
case 2:printf("\nb\n");
break;
case 3:printf("\nc");
break;
}
}
во втором коде, когда им дает 3 как ввод, я получаю «Привет ..» в качестве вывода. Что заставляет эти два кода работать по-другому .. ??
ya i knw that ... но почему значение, которое alot для c в первом коде .. не рассматривается как ASCII, как во втором случае. Хотя я не использовал одиночную инвертированную запятую ('), чтобы обозначить символ. Почему их отличие в том, как c присваивается значение. – DD24
Пожалуйста, посмотрите, как я сказал, на [этот ответ] (http://stackoverflow.com/a/17668811/ 841108) –