これは、scanf ステートメントが原因です。通常、scanf ステートメントの形式は次のとおりです。
scanf("%d %d",&x,&y); //without the commas inside the ""'s
しかし、あなたはこのフォーマットを作りました:
scanf("%d,%d",&x,&y); //with the commas inside the ""'s
これは、2 つの入力の間にコンマ区切りが必要であることを意味します。
次の試行を見てください
TRIAL1:(注: 入力は 2345 です)
Please input 2 numbers:
2345
Now the value for x is 2345, and value for y is 134513867.
TRIAL2: (注: 入力は 23,45 です)
Please input 2 numbers:
23,45
Now the value for x is 23, and the value for y is 45.
TRIAL3: (注: 入力は 23+45 です)
Please input 2 numbers:
23+45
Now the value for x is 23, and the value for y is 134513867.
したがって、試行によると、scanf("%d,%d",&x,&y); 入力にはコンマ区切りが必要です。1 回目と 3 回目の試行の出力に起こったことは、これらの y 値が変更されていない/初期化されていないため、y 変数にガベージが含まれていたことです。しかし、scanf の最初の %d のために、x 変数が正しい値を取得したようです。