当前位置: 代码迷 >> C语言 >> 求助关于一个scanf 的的问题
  详细解决方案

求助关于一个scanf 的的问题

热度:144   发布时间:2008-03-02 14:44:47.0
求助关于一个scanf 的的问题
#include"stdio.h"
#include <stdlib.h>
int  main()
{
    char a[10],b[10],c;
    int d;
    scanf("%d %s %c %s",&d,a,&c,b);
    printf("%s %s %c - %d",a,b,c,d);
    system("pause");
    return 0;
}
红色部分为什么中间加了空格,输入数据时就正确,而改成scanf("%d%s%c%s",&d,a,&c,b);无论怎样输入都得不到想要的结果?
搜索更多相关的解决方案: scanf  int  include  pause  

----------------解决方案--------------------------------------------------------
输入格式问题

我们一般把输入的不同内容 空格分开也可以用其他符号分开但是一般用也最好用空格分开``

我刚才在DEV-CPP里试了下``我不修改``在输入4个参数的时候我用空格分开``结果都
对啊``

[[it] 本帖最后由 死了都要C 于 2008-3-2 11:07 编辑 [/it]]
----------------解决方案--------------------------------------------------------
很简单.空格作为了分隔符,但也被下一个%c吃掉了。
换句话说
scanf("%s%d"...正确
scanf("%s%c...错误,下一个字符一定会使是回车或是空格或是制表符
----------------解决方案--------------------------------------------------------
scanf("%d %s %c %s",&d,a,&c,b);  
    着不是地址符的问题么 ? scanf("%d %s %c %s",&d,&a,&c,&b);
----------------解决方案--------------------------------------------------------
返回成功读取的项目的个数
----------------解决方案--------------------------------------------------------
4楼,那a,b是数组,本来就是地址了,不用加&。
----------------解决方案--------------------------------------------------------
  相关解决方案