问题:我需要能够识别两个空格何时连续出现。
我已阅读以下问题:
我知道scanf问题:http ://c-faq.com/stdio/scanfprobs.html
输入将采用以下格式:
1 5 3 2 4 6 2 1 9 0
两个空格表示需要处理下一组数据并与自身进行比较。线的长度是未知的,每组中的数字或整数是未知的。两个空格最多可以分隔下一个数据集。
虽然我可以使用 fgets 和各种内置函数来解决这个问题,但我现在使用 scanf 解决问题可能会更容易。但是,如果不是这样,使用 fgets、strtok 和 atoi 将完成大部分工作,但我仍然需要连续识别两个空格。
以下将采用整数,直到输入非整数。
而 ( scanf ( "%d", &x ) == 1 )
我需要它做的是读取空格,如果有两个连续的空格,我将程序对下一组数据做一些不同的事情。
一旦我得到一个空白,我不知道该怎么说:
if ((input == "whitespace") && (previousInput == "whitespace")) 呀呀呀呀 否则(输入==“空白”) 呀呀呀呀 别的 呀呀呀呀
感谢您的宝贵时间,并感谢您的帮助。
经验教训: 虽然 Jonathan Leffler 在下面发布了 scanf 的解决方案,但使用 getc 解决方案更简单一些(通过对内部 scanf、正则表达式和 char 的了解较少)。回想一下对正则表达式的更好了解,scanf 和 char 会使问题变得更容易,并且当然知道哪些函数可用,以及从一开始就最好使用哪个函数。