当前位置: 代码迷 >> C语言 >> 这样输入3 y时为什么不能打出y?
  详细解决方案

这样输入3 y时为什么不能打出y?

热度:21   发布时间:2005-04-08 14:54:00.0
这样输入3 y时为什么不能打出y?
main(){int a;char x;
scanf("%d%c",&a,&x);
printf("%d%c",a,x);}
这样输入3 y时为什么不能打出y?
搜索更多相关的解决方案: 输入  

----------------解决方案--------------------------------------------------------
中间没有空格,在scanf()中的控制字符串里这个位置没有空格,所以把你输入的空格赋给了x
----------------解决方案--------------------------------------------------------
scanf()函数的输入格式要和前面给的一致
例如scanf("a=%d",&x)语句你想把x=7输入
在输入的时候要这样输入a=7

----------------解决方案--------------------------------------------------------
scanf("%d%c",&a,&x);
我觉得这样写有利于防止某些错误的发生.

比如下面这种情况
#include <stdio.h>
int main()
{
int a,b;
char c,x;

    printf("enter a=");
    scanf("%d",&a);
   
    printf("enter c=");
    scanf("%c",&c);

    printf("enter b=");
    scanf("%d",&b);

    printf("a=%d,b=%d,c=%d\n",a,b,c);
}

我们本来想按照程序顺序输入a c b的值的,可是.......
所以,我是觉得这样写就好很多了

#include <stdio.h>
int main()
{
int a,b;
char c,x;

    printf("enter a=");
    scanf("%d%c",&a,&x);
   
    printf("enter c=");
    scanf("%c%c",&c,&x);

    printf("enter b=");
    scanf("%d%c",&b,&x);

    printf("a=%d,b=%d,c=%d\n",a,b,c);
}
----------------解决方案--------------------------------------------------------
这是我自闯的风格,楼主怎么学会了~~哈哈

----------------解决方案--------------------------------------------------------
  相关解决方案