#include <stdio.h>
int main(void)
{
int x,y;
printf("a,b>");
scanf("%d,%d", &x, &y);
printf("a=%7d\n",x);
printf("b=%7d\n",y);
return 0;
}
このようなプログラムなんですが、一つのscanfで二つ以上の変数を入力させることができません!
たとえば、1 2と入力しても
a=1
b=0
と表示されてしまいます。
プログラム自体に問題はないのでしょうか?
scanf関数について
Re: scanf関数について
ありがとうございます!
んー・・・しないですかね・・・
一応書籍などのガイドラインに沿ったつもりなんですが。
気になったのは、
a=1
b=2
と入力したときの結果が
a=1
b=0.000と表示されたことです。
int型なのに小数点がでることはあるんでしょうか?
んー・・・しないですかね・・・
一応書籍などのガイドラインに沿ったつもりなんですが。
気になったのは、
a=1
b=2
と入力したときの結果が
a=1
b=0.000と表示されたことです。
int型なのに小数点がでることはあるんでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: scanf関数について
こちらで実行すると1,2の入力すれば正しく表示されます。
1 2 ではダメです。
それとb=0.000はint型では無理ですね。
> 書籍などのガイドライン
どこか勘違いされていると思います。
1 2 ではダメです。
それとb=0.000はint型では無理ですね。
> 書籍などのガイドライン
どこか勘違いされていると思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: scanf関数について
1 2
の入力の場合は
scanf("%d%d", &x, &y);
とする必要があります。
scanf("%d,%d", &x, &y);
では、他の方が回答されている通り、
間に,を入れる
つまり
1,2
でないと正しく動作しません。
の入力の場合は
scanf("%d%d", &x, &y);
とする必要があります。
scanf("%d,%d", &x, &y);
では、他の方が回答されている通り、
間に,を入れる
つまり
1,2
でないと正しく動作しません。