printf只打印“1537”而不是整数的值

时间:2013-08-23 09:40:21

标签: c printf

我刚刚学习编程,所以这似乎是一个令人厌烦的问题。但是当我尝试打印整数的值时,它会打印“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);

}

2 个答案:

答案 0 :(得分:13)

您需要将值分配给smallest而不是它。

将其更改为

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

〜有时很难抓住最小的错误〜:)

答案 1 :(得分:3)

您没有初始化最小的。实际上,你根本不在任何地方写信。