【发布时间】:2012-11-30 14:26:46
【问题描述】:
有人要求我编写一个函数,该函数返回输入字符串中的第一个非空白字符。
当我输入诸如“hello”之类的内容或任何不以空格开头的内容时,它就会起作用。但是当我输入“hello”之类的内容时,它会返回一个空格。
这是我的代码:
int question6()
{
printf("Start typing stuff in \n");
char myChar = returnFirstNonWhite();
printf("First non-white space character is: %c",myChar);
}
int returnFirstNonWhite()
{
int ch,temp;
ch = getchar();
while (ch != 32)
{
temp = ch;
printf("Found first success %c\n", ch);
}
return temp;
}
【问题讨论】:
-
您是否首先考虑获取字符串输入?
-
这不是 getchar() 的用途吗?
-
这样的代码已经有足够多的答案了。
-
getchar 得到一个字符,而不是一个字符串。
-
我认为这将是一个更好的方法,否则您将不得不处理缓冲区并且内部仍然会发生循环
标签: c char ascii whitespace