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 回答