2 つのコードを考えてみましょう。同じ値が i に割り当てられているにもかかわらず、なぜそれらは異なる出力を与えているのですか? 'i' は両方のコードで char です。
最初のコード --> (ここでは、値は 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;
}
}
2番目にprintf-scanfを使用--->
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;
}
}
2 番目のコードで入力として 3 を指定すると、出力として "Hi.." が得られます。2 つのコードの動作が異なる理由..??