C 是否指定以预定义的方式编写程序

C 是否指定以预定义的方式编写程序,c,scanf,C,Scanf,Q1 答案——如果我们输入值,那么答案将是z1988 z1988 但在另一个问题上 问题2 回答--如果我们输入这些值1988 1=1988 只显示整数值,不显示字符值。 我的问题是,这两个问题都有相同的模式,为什么一个显示字符值,而另一个不显示 问题2 第二个scanf由于回车键笔划而读取换行符 像这样在scanf后面加一个空格 int main() { int y; char x; scanf("%d",&y); scanf("%c",&

Q1

答案——如果我们输入值,那么答案将是
z1988 z1988

但在另一个问题上 问题2

回答--如果我们输入这些值
1988 1=1988

只显示整数值,不显示字符值。 我的问题是,这两个问题都有相同的模式,为什么一个显示字符值,而另一个不显示

问题2

第二个
scanf
由于回车键笔划而读取换行符

像这样在
scanf
后面加一个空格

int main()
{
    int y; 
    char x; 
    scanf("%d",&y); 
    scanf("%c",&x); 
    printf("1 =%d\n%c\n",y,x); 
}

在第二种情况下,计算输出后的换行。你有一个额外的空行,不是吗?请格式化问题,使它变得可读。我试图编辑,但坦率地说,我没有捕捉到足够的信息,不知道如何编辑。另外,你的问题标题对我来说毫无意义。如果我用scanf(“%d%c”、&y和&x)这样写q2,我只需输入值即可;它显示了相同的结果。。。为什么?
int main()
{
    int y; 
    char x; 
    scanf("%d",&y); 
    scanf("%c",&x); 
    printf("1 =%d\n%c\n",y,x); 
}
int main()
{
    int y; 
    char x; 
    scanf("%d",&y); 
    scanf("%c",&x); 
    printf("1 =%d\n%c\n",y,x); 
}
int main() 
{ 
    int y; 
    char x; 
    scanf("%d",&y); 
    scanf(" %c",&x); 
           ^----Note space
    printf("1 =%d\n%c\n",y,x); 
}