我是 C 编程新手,目前正在尝试自学如何创建一个 C 程序,该程序可以对输入流中的单词和行进行计数,并将两个总计打印到标准输出。
我实际上想做的是让程序计算行数并根据我觉得不对的单词的定义来计算单词数。
我希望这些单词排除空格、制表符、换行符、连字符或冒号。同时让程序以小数形式输出结果(单词和行)。
#include<stdio.h>
int main()
{
int iochar;
int words;
int lines;
printf("Enter something here:\n\n");
while ((iochar = getchar ()) !=EOF)
{
if((iochar == ' ') || (iochar == '\t') || (iochar == '\n'))
putchar(iochar);
}
return 0;
}
我完全不喜欢这个项目吗?
最佳答案
如果您的问题是如何修复编译错误,那很简单。在末尾添加一个右大括号。
但是当且仅当用户键入空格、制表符或换行符时,您的程序仍将仅执行一次循环,并且仅打印一个字符。无论用户输入什么,程序都会终止。我怀疑这就是你想要的。
我怀疑这就是您的意图:
while ((iochar = getchar ()) !=EOF)
{
if((iochar == ' ') || (iochar == '\t') || (iochar == '\n'))
{
putchar(iochar);
}
}
return 0;
关于计算标准输入中的字数和行数的 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12591664/