C - 如何使用 scanf 从命令行读取整数



假设我有以下代码:

int number;
scanf("%d", number);
printf("%d", number);

我输入一个数字,比如 10,作为输入,但我没有得到它来打印任何东西。如果我更改我的代码,以便它将输入扫描为字符串,它可以正常工作:

char number[2];
scanf("%s", number);
printf("%s", number);

我做错了什么吗?如果是这样,怎么办?我正在做我所有的工作 https://www.onlinegdb.com/online_c_compiler 如果这改变了什么

你需要将number的地址传递给scanfscanf("%d", &number);

当你使用字符串时它之所以有效,是因为 c 中的字符串实际上只是一个指向char的指针,printf知道,对于字符串,它需要取消引用指针才能到达字符串的chars

最新更新