1
私はCの初心者です。ベクトル乗算コードを書き込もうとしています。私は配列とスケールを読みました。次に、この尺度に配列の各要素を掛けます。scanfで整数値を読み取ったときの予期しない乗算結果
for (i = 0 ; i < 5 ; i++)
{
scanf("%d", &numbers[i]);
}
puts("Please enter the scale:");
scanf("%d", s);
puts("The scaled vector is:");
for (j = 0 ; j < 5 ; j++)
{
int r = numbers[j] * s ;
printf("%d\n", r);
}
私はこのコードを実行するときしかし、私は、次の入力で予期しない値を受け取る:
1
2
3
4
5
スケール:
2
出力:
6130616
12261232
18391848
24522464
30653080
Iここにs
を置き換えてください01たとえば、は2で、期待される出力を返します。彼は右の数行上のそれをしなかったので、おそらくそれはタイプミスだ
puts ("Please enter the scale:");
scanf ("%d" , &s);
:あなたが値を得ることができるように – BlackBear
+1、私は彼のコンパイラが同意したと思う(*初期化されていないローカル変数の使用*など)。 – user7116