意外的乘法结果与scanf读取的整数值

时间:2012-03-08 20:01:44

标签: c scanf

我是C的初学者,我正在尝试编写一个矢量乘法代码。我读了一个数组和比例。然后我将这个比例乘以数组中的每个元素。

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

例如,当我将s中的numbers[j] * s替换为2时,它将返回预期的输出。

1 个答案:

答案 0 :(得分:6)

发送指向scanf的指针,以便您可以获得值:

puts ("Please enter the scale:");
scanf ("%d" , &s);