69,366
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define OUT 0
#define IN 1
int main (void)
{
int c, why;
int word = 0;
while ((c = getchar()) != EOF) // getchar()函数按下回车键以后,字符和回车键都被送入内存缓冲区。
{
if (c == ' ' || c == '\n' || c == '\t') // 我输入个空格按下回车
{
why = OUT;
}
else if (why == OUT) // 那这条语句是不是该执行2次?空格一次,回车一次
{
why = IN;
++word;
}
}
printf ("输入的单词个数有%d\n", word); // 那word是否应该等于2呢?
return 0;
}
#include <stdio.h>
#define OUT 0
#define IN 1
int main (void)
{
int c, why;
int word = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t') // 当C是空格或是'\n'和连续的8个空格时,why = OUT,
{ // 只要C符合其中的任何一个条件就一直执行if语句,直到C是其他字符时才执行else if语句。
why = OUT;
}
else if (why == OUT)
{
why = IN;
++word;
}
}
printf ("输入的单词个数有%d\n", word);
return 0;
}
#include <stdio.h>
#define OUT 0
#define IN 1
int main (void)
{
int c, why;
int word = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t') // 当C是空格或是'\n'和连续的8个空格时,why = OUT,
{ // 只要C符合其中的任何一个条件就一直执行if语句,直到C是其他字符时才执行else if语句。
why = OUT;
}
else // else if语句等价于这条语句
{
if (why == OUT)
{
why = IN;
++word;
}
}
}
printf ("输入的单词个数有%d\n", word);
return 0;
}
if (...)
{
}
else
{
}
// 这两个语句只能执行其中一个大家肯定都知道的.
// else if 从字面理解就是
else
if (...)
// 这就说明了
if (...)
else if
else
// 三条判断语句,只要执行了其中一个,别的就不能再执行了。不管条件是否符合下面的判断都不再执行了。
#include <stdio.h>
#define OUT 0
#define IN 1
int main (void)
{
int c, why;
int word = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t')
{
why = OUT; //这里,why和OUT已经相等了,下面的else if肯定会成立
}
else if (why == OUT)
{
why = IN;
++word;
}
}
printf ("输入的单词个数有%d\n", word);
return 0;
}
#include <stdio.h>
#define OUT 0
#define IN 1
int main (void)
{
int c, why;
int word = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t')
{
why = OUT; //这里,why和OUT已经相等了,下面的else if肯定会成立
}
if (why == OUT)
{
why = IN;
++word;
}
}
printf ("输入的单词个数有%d\n", word);
return 0;
}
if (c == ' ' || c == '\n' || c == '\t')