所以我是编码新手,正在自学 C。今天我尝试使用
scanf()
编写一个简单的程序,但我没有得到我期望的输出。无论我输入什么数字,看起来scanf()
要么没有存储该值,要么正在返回该值的地址。
我的代码是:
#include <stdio.h>
int main() {
int num1;
printf("Please enter a number: \n");
scanf("%i", &num1);
printf("You have entered: %i!", &num1);
return 0;
}`
我得到的输出是:
Please enter a number:
4
You have entered: 1803728744!%
我已经针对其他示例片段对我的代码进行了双重和三次检查,我已将数据类型更改为浮点数、小数等,我不明白为什么它不打印我输入的数字,而是用 ! 打印一个长数字! % 最后。
printf
需要int
值而不是指针:printf("You have entered: %i!", num1);