为什么求绝对值里面的printf,a前面没有&

在这个地方printf("%d",a);改成printf("%d",&a);程序就错误了为什么啊?

#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a<0)
    {
    a=-a;
    }
    printf("%d",a);
}

int a;
a是内容,&a是地址。
scanf 需要读取用户输入的内容存入a,所以需要a的地址&a。
printf需要打印a的内容,所以只用a就行了,加了&a,就变成打印a的地址了。

&是取一个变量的地址,打印语句不需要取地址,只有在scanf输出语句中才需要根据输入的值传给需要赋值的变量地址

&是取地址符,这样输出的是变量的地址,直接a就是输出变量的值

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632