我正在编写一个程序,我想提示用户输入一个数值,然后立即打印该值。问题是,无论我输入什么数字,变量总是打印为 6356748。
这是代码:
#include <stdio.h>
int main(){
int days;
printf("How many days will you be observing your crew?\n");
scanf("%d",&days);
printf("%d\n",&days);
return 0;
}
对于任何输入(甚至字母),返回都是相同的;它只是打印 f,接受用户输入,然后返回 6356748。
我查看了有关此类问题的其他类似帖子,但没有运气。 我还尝试在定义变量时对其进行初始化,并在主函数之外定义该变量。我还尝试在扫描变量并打印新值后向变量添加 1,但这只是返回相同的值,未更改:6356748。 我认为这是我的代码,因为我在在线 IDE 中尝试了这段代码,但我不知道它会怎样,因为语法对我来说似乎很好。
我想知道如何使 scanf 实际上将输入分配给变量并使程序停止打印相同的大值。 如果有任何帮助,我正在使用 Codeblocks。 提前致谢
最佳答案
您正在打印变量的地址... 修复方法如下:
printf("%d\n", days);
关于c - 简单的 C 程序在变量应该 scanf 后一致地将变量打印为 6356748,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54608702/