gpt4 book ai didi

C 字数统计程序在测试空格时失败

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:10 26 4
gpt4 key购买 nike

<分区>

我创建了一个简单的字数统计程序(“字”:不包含空白字符的字符序列)。我的想法是每当程序得到一个字符 ch 时就计算一个单词,这样 ch 不是空白字符,而是 ch 之前的字符,称它为 pre_ch 是一个空白字符。

以下程序无法正常工作(nw 停留在 0):

/* Program to count the number of words in a text stream */

#include <stdio.h>

main()
{
int ch; /* The current character */
int pre_ch = ' '; /* The previous character */
int nw = 0; /* Number of words */

printf("Enter some text.\n");
printf("Press ctrl-D when done > ");
while ((ch = getchar()) != EOF)
{
if ((ch != (' ' || '\t' || '\n')) &&
(pre_ch == (' ' || '\t' || '\n')))
{
++nw;
}

pre_ch = ch;
}

printf("\nThere are %d words in the text stream.\n", nw);
}

但是,如果我将 if 子句更改为:

if ((ch != (' ' || '\t' || '\n')) && 
(pre_ch == (' ')

(删除 pre_ch 的制表符和换行符选项),该程序可以运行。我不知道为什么。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com