请教个问题:关于函数返回遇到的第一个非空白字符
ndk吧
全部回复
仅看楼主
level 9
各位大神,我写了一段程序目的是要返回函数遇到的第一个非空字符,可是每次实际返回的都是字符h,不知道是为什么,请各位大神指教[哈哈][疑问],程序如下:
#include <stdio.h>
char get_first(void);
int main(void)
{
char ch;
ch=get_first();
putchar(ch);
return 0;
}
char get_first(void)
{
int ch;
ch=getchar();
while(getchar()!=*\n*)
{
if(ch==* *)
continue;
else
return ch;
continue;
}
}
2014年08月12日 04点08分 1
level 11
get_first 函数中ch 的值没有变,下面的该法作为参考,谢谢!
char get_first(void)
{
int ch;
while ((ch = getchar()) != "\n")
{
if (ch == " ")
continue;
else
return ch;
continue;
}
}
2014年08月12日 05点08分 2
谢谢大神!不过追问一句,为什么ch的值没变?
2014年08月12日 09点08分
回复 轻舞飞扬风之语 :看看这一行原来和现在的写法有什么不同 while((ch = getchar()) != “\n”)
2014年08月12日 10点08分
回复 fukeainideren :后来的程序是先将ch赋值之后再与空格进行判断,不断赋值不断判断,直到函数遇到一个非空字符。而原来的程序只是将ch赋值,之后getchar不断读取,并与空格进行比较,但是ch始终没有得到更新。这样理解对吗?不过第一段程序返回值始终是h,而不管第一个字符是什么,这个不明白[乖]
2014年08月12日 12点08分
回复 轻舞飞扬风之语 :这里不方便截图,看4楼,谢谢
2014年08月12日 13点08分
level 11
有问题留言哦, 我去同他们大战去 [哈哈]
2014年08月12日 05点08分 3
[哈哈][哈哈][哈哈]
2014年08月12日 09点08分
level 11
我测试了一下,返回的是 a,效果如下:
2014年08月12日 13点08分 4
请问这是哪个编译软件呀?
2014年08月12日 14点08分
2014年08月12日 14点08分
level 9
2014年08月12日 23点08分 5
level 11
2014年08月13日 01点08分 6
专业、敬业、好感动[泪][哈哈][真棒]
2014年08月13日 01点08分
老哥你写的代码ch=getchar在whlie里面的那句话是不是就不用在while外面再写个return了,因为ch的值随着变化的
2018年07月28日 02点07分
1