を使用してファイルから変数の値を取得していますscanf
。%
. _ 比較する方法%
scanf("%d",&a);
if (a=='$') terminate ; ??
機能しません 考えられる解決策は何ですか??
できません。または%d
を変換しません。つまり、 a には何も入れません ( を渡す必要があることは言うまでもありません)。変換に失敗した場合はオンのままなので、引き続き読むことができます。%
$
&a
stdin
変換が成功したかどうかを確認するには、scanf()
の戻り値を確認します。成功した cnversion の数を返します。
if (1 != scanf("%d", &a)) {
char c = 0;
scanf(" %c", &c);
if (c == '%' || c == '$') {
/* done */
}
}
a =='$'として試すか、整数で読み取った値を格納してチェックします
あなたのif条件はと比較a
していません$
これに変更します:
if (a =='$')
同じことを編集
して比較する%
if(a=='%')