gpt4 book ai didi

无法理解 C 中的字数统计

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

<分区>

[已解决]我最近问了一个关于一些我认为我真正理解的代码的问题。

但几天后,当我回头修改时,同一段代码出现了新问题(摘自 THE C PROGRAMMING LANGUAGE Second Edition by Brian. W. Kernighnan (ISBN-13: 978-8131704943))。

代码如下:

#include <stdio.h>

#define IN 1
#define OUT 0

main()
{
int nw, c, state;
state = OUT;
nw = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT)
{
state = IN;
++nw;
}
}
printf("%d", nw);
}

所以我做了一些随机测试,发现了一些我无法解释或理解的东西:

  1. 为什么我有代码却无法运行

    state = OUTnw = 0

  2. 之后

当我正常运行这段代码时,它给出了正确的编号。单词,但是当我交换 state = OUT 和 nw = 0 的顺序时,它总是返回等于 0 的答案,为什么会这样?我知道顺序在 C 中很重要,但为什么只有这个特定的顺序??

2.if-else语句简述是什么意思??

3.累积。到书状态变种。被定义为定义 getchar 是否在一个单词内,但我不明白状态变量究竟是如何做的。这样做??

4. 另外,作者对等价和相等的使用是什么?我注意到他在提出条件时使用等价,否则使用等价,我说得对吗??

谢谢你...

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