求助关于一个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);无论怎样输入都得不到想要的结果?
----------------解决方案--------------------------------------------------------
输入格式问题
我们一般把输入的不同内容 空格分开也可以用其他符号分开但是一般用也最好用空格分开``
我刚才在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是数组,本来就是地址了,不用加&。
----------------解决方案--------------------------------------------------------