【发布时间】:2017-02-02 04:38:30
【问题描述】:
对于下面的代码(在 C 中)
int small_a, small_b;
printf("Please input two numbers\n");
scanf_s("%d %d", &small_a, &small_b);
printf("%d %d", &small_a, &small_b);
int test_2nd = small_a - small_b;
if (test_2nd < 0) {
printf("a is smaller %d", &small_a);
}
else {
printf("b is smaller %d", &small_b);
当我写 4 和 2 时它打印的值是一个巨大的六位数字(在这种情况下为 5504620 和 5504608)我不明白哪里出错了。 stdio.h 已包含在标题中。
【问题讨论】:
-
printf("%d %d", &small_a, &small_b);remove&-->printf("%d %d", small_a, small_b); -
1) 检查任何
scanf()系列函数的返回值,以确保操作成功。 2)打印变量时,使用printf()传递实际变量,而不是变量的地址。 -
建议您阅读有关如何提问的“帮助”部分。例如,当问题是关于运行时问题时,就像你的问题一样,发布干净编译、很小但仍然显示问题的代码。