c语言中,怎么忽略输入字符串中的空格符。

比如我输入a b c,一次读取一个字符,依次读取a、b、c。

字符串输入可以用scanf函数和gets函数。scanf函数是当输入的数据遇到空格就停止。比如输入数据kkkkkk ssssss sssaa11。用scanf("%s",str);得到的str为"kkkkkk",而空格后面的东西不会赋值给str。而使用gets(str);得到的str为kkkkkk ssssss sssaa11。gets函数是将一整行包括空格都赋值给str。对于你给的例子。main里面的代码为:
main()
{
char str[10];
gets(str);
puts(str);
return(0);
}
输出结果就是a b c。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-10
#include<stdio.h>
void main()
{
char a,b,c;
scanf("%c%*c%c%*c%c%*c",&a,&b,&c);
printf("%c%c%c\n",a,b,c);
}
%*c是跳过下一个字符 避免回车之类被吸收本回答被提问者和网友采纳
第2个回答  推荐于2016-04-06
//经测试,这样就可以了。
#include<stdio.h>
void main()
{
char a,b,c;
scanf("%c %c %c",&a,&b,&c);
printf("%c%c%c\n",a,b,c);
}追问

中间的空格把回车符都忽略了,能不忽略吗

追答

//编程应该可以的。
scanf("%c",&a);
while(a==' ') scanf("%c",&a);
//上面两行实现a的输入,b,c 同理。

本回答被网友采纳
第3个回答  2011-07-05
scnaf("%c %c %c",**);
第4个回答  2011-07-06
char c;
while (( c = getchar() ) == ' ')
{
c = getchar();
}