私はそれを得ることができません。Char は整数ですよね?だから私はできる
int var;
scanf("%d", &var);
I:[65]
printf("%c", var);
o:[A].
なぜそれをするのですか?
char var;
scanf("%d", &var);
I:[A]
printf("%d", var)
O:[-1236778]
第二にscanf()
scanf("%d", &var);
解析されたscanf()print ディレクティブ%d。これは、引数 &varが へのアドレスであると予想されることを意味しますint。代わりに a へのアドレスcharが与えられました。のサイズintは確かに のサイズよりも大きいですchar。「char」専用の場所scanf()にサイズを配置しようとすると、 scanf() がデータを配置すべきではない場所に配置する可能性があるため、奇妙なことが発生する可能性があります。int10 ポンドのポテトを 5 ポンドの袋に入れようとしています。
scanf("%d", &var);さらに、入力「A」 を正常に読み取れたかどうかは疑わしいようです。scanf()が表示され、数字ではないため、定義Aを満たすテキスト入力のスキャンを断念します。intしたがって、scanf("%d", &var)おそらく の値が返されたため、 には何も配置され0ませんでした。ベーコンを保存すると、データが配置されるべきではないスペースに配置されます。var
最後は、設定されていない をprintf("%d", var)単純に出力するだけなので、たまたま char に あったものが得られます。ありそうにない。投稿がコードや入力/出力と少しのペースで一致していないと思われます。var-1236778