一个简单代码中的一个错误,找了3个小时问题了,未遂,求教!!
//功能:把输入行中的第一个单词放进数组(第一个单词前如果有空格,要滤掉空格)
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
char *getword(char *name);
int main(void)
{
char name[20];
getword(name);
puts(name);
system("pause");
return 0;
}
char *getword(char *name)
{
char ch = EOF;
//while( ( ch = getchar() ) != EOF && isspace( ch ) )
// continue;
//putc(ch, stdin);
/* 这三句我想滤掉空格,并且把最后读入的非空格往回输入缓冲区,可是如果不输入空格,直接输入单词,会丢掉前两个字符。*/
while((ch = getchar()) != EOF && !isspace(ch))
{
*name++ = ch;
}
if(name[0] == EOF)
return NULL;
else
{
*name = '\0';
return name;
}
}