c语言问题,大佬帮帮忙

这个不是计算空格的数量吗?为啥是4呢

前面的 int i=0,强制把第一个字符计为空格!
所以,这个题目求的是单词个数。
有什么问题请留言。追问

*p==‘ ’这条语句不是求空格嘛

追答

空格就代表一个单词的结束啊

追问

大佬,你说的强制变成空格 我真的不明白呀

追答

不是把第一个字符变成空格,而是把第一个字符“计”为空格。
也就是在第一个字符之前已经计入了一个空格。
这样数出空格得个数,不就等于单词的个数了吗?
另外,谢谢你的采纳。

实际上,这个程序并不是数空格的个数,是真的数单词的个数。
你试一试,打“I△Win.”(△代表一个空格),结果是2。
你输入“you△△△Win.”,结果还是2。
对不对?

追问

非常感谢你,我明白了

大佬就是大佬😬

就是一开始定义i为0,程序运行到elseif 使n变为1的对吧

追答

You are right.
一开始定义i为0,程序运行到第一个非空格字符(一般第一个字符都不是空格,如果是空格也无妨,程序会继续判断下一个字符,直到出现非空格),就会执行elseif ,使n变为1,也代表出现了第一个单词!

追问

我终于明白了,你是计算机大神吗?牛逼

我今年考研,被它折磨的简直了,哈哈哈

追答

你考什么专业?

追问

软件工程呀

你是读完研究生了吗

了嘛

追答

祝你考研成功!加油!

追问

嗯嗯!加油

温馨提示:答案为网友推荐,仅供参考