私はCプログラミングを傾けています。私は奇妙なループを書いたが、に%c
を使用している間は動作しません。
は、ここでは、コードです:%cを使用して奇数ループが機能しない
#include<stdio.h>
void main()
{
char another='y';
int num;
while (another =='y')
{
printf("Enter a number:\t");
scanf("%d", &num);
printf("Sqare of %d is : %d", num, num * num);
printf("\nWant to enter another number? y/n");
scanf("%c", &another);
}
}
しかし、私はこのコードで%s
を使用する場合、たとえばscanf("%s", &another);
のために、それが正常に動作します。
これはなぜ起こりますか?何か案が?
'num'を入力してEnterキーを押すと、ENTERのASCIIコードがscanfバッファに格納され、次の単一文字を読み込むたびに、ユーザ入力を待つことはなく、' ENTER' ASCIIコードが保存されます'another'変数に入れます。 –