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

时间:2018-09-24 22:36:05

标签: 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做所有工作

1 个答案:

答案 0 :(得分:2)

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

使用字符串时它起作用的原因是因为c中的字符串实际上只是指向char的指针,而printf知道,对于字符串,它需要取消引用。指向字符串chars的指针。