C语言中的问题问题问题问题 够10个字了吧!

 #include<stdio.h>
#include<stdlib.h>
int main ()
{
    int a ;
    scanf("%d",&a);
    printf("%d",a);
    system("pause");
    return 0;
}

输出结果
图片说明

请问我输出a为何会输出数字是2呢 以整数%d输出 不应该是输出a的ascii的码吗

实际上,这个值是随机的。因为a没办法转换成整数

要你的结果,可以这么写

 #include<stdio.h>
#include<stdlib.h>
int main()
{
    int a = 0;
    scanf("%c", &a);
    printf("%d", a);
    system("pause");
    return 0;
}

你也可以把
int a;
scanf("%d",&a);
改为
char a;
scanf("%c",&a);
这样,接收的是你输入的任何一个字符,也可以是#,*号等,然后以%d格式输出时,输出的就是该字符的ascii码。