gpt4 book ai didi

c - 如何计算除双引号或单引号之外的字符?

转载 作者:行者123 更新时间:2023-11-30 18:20:04 24 4
gpt4 key购买 nike

我是编程新手,通过书本学习 C。

本书的作者通过给出以下示例来解释逻辑运算符(AND、NOT 和 OR),该示例计算除双引号或单引号和句点字符之外的字符数。

我无法理解它如何计算除引号和句点字符之外的字符数。我知道对于 AND 运算符,这两个条件都应该成立。

#include <stdio.h>
#define PERIOD '.'
int main(void)
{
char ch;
int charcount = 0;

while ((ch = getchar()) != PERIOD)
{
if (ch != '"' && ch != '\'')
charcount++;
}
printf("There are %d non-quote characters.\n", charcount);
return 0;
}

最佳答案

我将尝试向您解释代码的主要部分:

    while ((ch = getchar()) != PERIOD)
{

在这里,它会检查文本中包含的每个字符,只要该字符与PERIOD(点)不同,因此它只会检查句子中的所有字符。

if (ch != '"' && ch != '\'')
charcount++;
}

这里,如果条件为 true,则将 1 添加到 charcount 中。要使 if 返回 true,ch != '"'ch != '\'' 都必须为 true!&& 运算符是 logical AND ,要使 AND 返回 true (1),两个条件都必须等于 1。因此,如果字符等于 "或 ',则 AND 将返回 0,并且因此我们不会将 1 添加到 charcount 中。

关于c - 如何计算除双引号或单引号之外的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31936432/

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