1

私はちょうど今プログラミングを学んでいるので、これは面倒な質問に思えるかもしれません. しかし、整数の値を出力しようとすると、代わりに「1537」が出力されます。これが関数です。自由に精査してください。

void compare(void) {
int num1;
int num2;
int num3;
int num4;
int smallest;

printf("Please enter four integers:\n");
scanf("%d %d %d %d", &num1, &num2, &num3, &num4);

num1 = smallest;
if (num2 < smallest)
    num2 = smallest;
if (num3 < smallest)
    num3 = smallest;
if (num4 < smallest)
    num4 = smallest;

printf("%d is the smallest\n", smallest);

}
4

2 に答える 2

13

smallest値をそこからではなくに割り当てる必要があります。

に変更します

smallest=num1;
if (num2 < smallest)
    smallest= num2;
if (num3 < smallest)
    smallest=num3;
if (num4 < smallest)
    smallest=num4;

〜小さな間違いを見つけるのが難しい場合もあります〜 :)

于 2013-08-23T09:42:33.033 に答える
3

最小を初期化しません。実際、どこにも書き込みません。

于 2013-08-23T09:42:42.370 に答える