如何在C中多次运行循环?

好的,我修改了我的代码,但是当用户输入0时无法使其中断。我尝试了0,'0'和“ 0”,但都没有中断循环。

#include <stdio.h>
#include<conio.h>

int main(){
int word;
int countword = 0;
int countpunct = 0;
do{
    printf("\nEnter the String: ");
    while ((word = getchar()) != EOF && word != '\n'){
        if (word == ' ' || word == '.' || word == '?' || word == '!' || word == '(' || word == ')' || word == '*' || word == '&'){
            countword++;
        }
        if (word == '.' || word == '?' || word == '!' || word == '(' || word == ')' || word == '*' || word == '&'){
            countpunct++;
        }
    }
    printf("\nThe number of words is %d.", countword);

    printf("\nThe number of punctuation marks is %d.", countpunct);

} while (word!= 0);

}
dbush

你的内部循环休息的时候word或者是EOF\n由于在到达外循环的末尾时永远都不会修改它,因此该条件将始终为真。

回到编辑前代码,您真正需要做的只是更改scanf("%c", word);scanf("%c", &word);,尽管您应该char为此使用一个单独的变量,因为%c格式说明符期望指向的指针char因此,您的代码应如下所示:

#include <stdio.h>
#include <stdlib.h>

int main(){
    int word;
    char cont;
    for (;;){
        int countword = 0;
        int countpunct = 0;
        printf("\nEnter the String: ");
        while ((word = getchar()) != EOF && word != '\n'){
            if (word == ' ' || word == '.' || word == '?' || word == '!' || word == '(' || word == ')' || word == '*' || word == '&'){
                countword++;
            }
            if (word == '.' || word == '?' || word == '!' || word == '(' || word == ')' || word == '*' || word == '&'){
                countpunct++;
            }
        }
        printf("\nThe number of words is %d.", countword);

        printf("\nThe number of punctuation marks is %d.", countpunct);

        printf("\nContinue? Y/N?");
        scanf("%c", &cont);
        if (cont!= 'y' && cont!= 'Y'){
            return 0;
        }
    }
}

还请注意,countwordcountpunct在外循环内部移动。这样,对于每组新单词,它们都会被初始化为0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中多次使用'if'循环?

来自分类Dev

如何在python中多次运行线程

来自分类Dev

如何在python中多次运行线程

来自分类Dev

如何在C编程中运行多个for循环?

来自分类Dev

如何在C编程中运行多个for循环?

来自分类Dev

在C中-for循环中的scanf()导致printf()运行多次

来自分类Dev

如何在 c# 中多次循环字符串数组?

来自分类Dev

如何在Android中循环运行

来自分类Dev

如何在GDB中跳过循环的多次迭代?

来自分类Dev

如何在GDB中多次重新运行程序?

来自分类Dev

如何在testng的单个套件中多次运行测试类

来自分类Dev

如何在Parallel中多次运行性能跟踪?

来自分类Dev

我如何在grunt initConfig函数中多次运行任务

来自分类Dev

如何在GDB中多次重新运行程序?

来自分类Dev

如何在python中多次运行一个函数

来自分类Dev

如何在一个.travis.yml中测试Python和C ++,而无需多次运行C ++?

来自分类Dev

如何在一个.travis.yml中测试Python和C ++,而无需多次运行C ++?

来自分类Dev

如何在bash脚本中使用循环使用不同的参数多次运行程序?

来自分类Dev

如何在循环中多次运行具有许多测试方法的 testng 类文件

来自分类Dev

如何在C#中运行可变数量的并发参数化无限循环类型的线程?

来自分类Dev

如何在bash中运行二维变量循环?

来自分类Dev

如何在后台android中运行无限循环

来自分类Dev

如何在给定代码中运行if循环

来自分类Dev

如何在ansible中在列表上运行嵌套的循环

来自分类Dev

如何在RStudio中以调试模式运行循环?

来自分类Dev

如何在PySimpleGUI代码中实现永远运行的循环?

来自分类Dev

如何在JavaFX中按元素运行循环

来自分类Dev

如何在模板厨师中为每个循环运行

来自分类Dev

如何在Excel VBA中运行多个“ For / Each”循环

Related 相关文章

  1. 1

    如何在python中多次使用'if'循环?

  2. 2

    如何在python中多次运行线程

  3. 3

    如何在python中多次运行线程

  4. 4

    如何在C编程中运行多个for循环?

  5. 5

    如何在C编程中运行多个for循环?

  6. 6

    在C中-for循环中的scanf()导致printf()运行多次

  7. 7

    如何在 c# 中多次循环字符串数组?

  8. 8

    如何在Android中循环运行

  9. 9

    如何在GDB中跳过循环的多次迭代?

  10. 10

    如何在GDB中多次重新运行程序?

  11. 11

    如何在testng的单个套件中多次运行测试类

  12. 12

    如何在Parallel中多次运行性能跟踪?

  13. 13

    我如何在grunt initConfig函数中多次运行任务

  14. 14

    如何在GDB中多次重新运行程序?

  15. 15

    如何在python中多次运行一个函数

  16. 16

    如何在一个.travis.yml中测试Python和C ++,而无需多次运行C ++?

  17. 17

    如何在一个.travis.yml中测试Python和C ++,而无需多次运行C ++?

  18. 18

    如何在bash脚本中使用循环使用不同的参数多次运行程序?

  19. 19

    如何在循环中多次运行具有许多测试方法的 testng 类文件

  20. 20

    如何在C#中运行可变数量的并发参数化无限循环类型的线程?

  21. 21

    如何在bash中运行二维变量循环?

  22. 22

    如何在后台android中运行无限循环

  23. 23

    如何在给定代码中运行if循环

  24. 24

    如何在ansible中在列表上运行嵌套的循环

  25. 25

    如何在RStudio中以调试模式运行循环?

  26. 26

    如何在PySimpleGUI代码中实现永远运行的循环?

  27. 27

    如何在JavaFX中按元素运行循环

  28. 28

    如何在模板厨师中为每个循环运行

  29. 29

    如何在Excel VBA中运行多个“ For / Each”循环

热门标签

归档