使用变量C编程时,第二个printf不工作 #包括 内部主(空) { INTA; printf(“输入您的号码”); scanf(“%d\n”,a); printf(“您的号码是%d\n”,a); }

使用变量C编程时,第二个printf不工作 #包括 内部主(空) { INTA; printf(“输入您的号码”); scanf(“%d\n”,a); printf(“您的号码是%d\n”,a); },c,scanf,C,Scanf,基本上这是代码,我不知道我的错误在哪里? 在我输入号码之后。程序停止工作函数scanf接收到一个指向要填充的变量的指针—它在内存中的地址。(您可以一次扫描多个)。 要获取C中变量的地址,请在其名称之前使用&运算符 #include<stdio.h> int main(void) { int a; printf("enter your number\n"); scanf("%d\n", a); printf("your number is %d\n",

基本上这是代码,我不知道我的错误在哪里?
在我输入号码之后。程序停止工作

函数scanf接收到一个指向要填充的变量的指针—它在内存中的地址。(您可以一次扫描多个)。
要获取C中变量的地址,请在其名称之前使用
&
运算符

#include<stdio.h>
int main(void)
{
    int a;
    printf("enter your number\n");
    scanf("%d\n", a);
    printf("your number is %d\n", a);
}

必须将a的指针传递到scanf并从scanf中删除。 如果要转到新行,请在您的号码为之前添加\n

代码变成这样

scanf("%d", &a); // Why do you need the \n?
#包括
内部主(空)
{
INTA;
printf(“输入您的号码”);
scanf(“%d”和“&a”);
printf(“\n您的号码是%d\n”,a);
}

scanf(“%d\n”和&a)
scanf
格式字符串中删除
\n
,并将
&a
作为参数传递。该“&”用于什么?我刚开始学习C语言,所以我不太懂基础知识,这是怎么回事获取指向int的指针。它传递名为“a”的局部变量的内存位置。如果您阅读scanf的“%d”详细信息,您会发现它需要一个“int*”,您可以通过&a获得它。@melpomene为什么?
#include<stdio.h>
int main(void)
{
    int a;
    printf("enter your number\n");
    scanf("%d", &a);
    printf("\nyour number is %d\n", a);
}