【发布时间】:2017-10-10 02:52:50
【问题描述】:
我目前正在编写一个程序,该程序接受用户输入的句子并计算句子中空格、制表符和换行符的数量,然后打印这些值。
输入由! 或. 或? 字符终止。
我遇到的问题是,当在输入末尾输入上述任何字符时,我的程序似乎没有结束。
这是当前程序:
#include <stdio.h>
int main(void)
{
int space = 0, tab = 0, newline = 0;
int sentence;
printf("Enter a sentence (end by '.' or '?' or '!'):");
do{
sentence = getchar();
if(sentence == ' '){
++space;
}
else if(sentence == '\t'){
++tab;
}
else if(sentence == '\n'){
++newline;
}
}
while((sentence != '.')||(sentence != '!')||(sentence != '?'));
printf("Number of space characters: %d\n", space);
printf("Number of new line characters: %d\n", newline);
printf("Number of tabs: %d\n", tab);
return 0;
}
我很困惑,感谢任何帮助。
【问题讨论】:
-
请缩进您的代码。就像你的 C 教科书中的例子一样
-
欢迎来到 Stack Overflow!请正确缩进您的代码。机器(编译器)可以读取和编译任何东西,但是对于人类来说,它需要在将文本块读取为 code 时做出一点sense。提问时,文本区域右侧有一个橙色的大如何格式化框。还有一个完整的格式化辅助工具栏。还有一个 [?] 按钮提供格式化帮助。还有一个预览区域,显示您的帖子发布后的样子。使您的帖子清晰,并证明您花时间这样做,可以提高您获得好答案的机会。
标签: c