gpt4 book ai didi

c - 如何在C语言中的for循环中使用scanf作为条件

转载 作者:行者123 更新时间:2023-11-30 18:29:38 28 4
gpt4 key购买 nike

如下面的代码所示,我不明白 for 循环中 scanf 的用法。

我如何使用或者使用它时它会做什么?

#include<stdio.h>

int main() {

char word[10];
int count[10] = {0};

printf("Enter text:\n");

for(scanf("%s", word); word[0] != '.'; scanf("%s", word)) {
int len;

for(len = 0; word[len] != '\0'; len++);
count[len]++;
}

int i;
for(i = 1; i < 10; i++) {
printf("There are %d words with %d letters\n", count[i], i);
}

最佳答案

一般来说,for循环具有以下结构:

for (part1; part2; part3) {
....
}
  • 第 1 部分是在循环开始之前执行一次的语句。执行后,您将进入循环并且其语句开始执行。这部分主要用于对循环有用的初始化。如果将其留空,则在循环之前不会执行任何操作。
  • 第 2 部分是您在每次迭代时检查的条件
  • 第 3 部分是在每次迭代结束时执行的语句。

这里,第 1 部分是语句 scanf("%s", word);,这意味着您最初在进入循环之前读取一个字符串。每次迭代后,您都会检查条件,第 3 部分又是语句 scanf("%s", word);。因此,在每次迭代之后,您都会读取一个新字符串(然后在您的条件中使用它)。

实际上,这个循环相当于

scanf("%s", word);
while(word[0] != '.')
{
int len;

for(len = 0; word[len] != '\0'; len++);
count[len]++;
scanf("%s", word);
}

关于c - 如何在C语言中的for循环中使用scanf作为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36057150/

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