c - 如何使用 eof 计算字符串的字母数 (ansi c)

标签 c count eof letters

我是编程新手,现在我正在尝试学习如何使用 EOF。

我想从键盘输入一个字符串并计算字母数。 例如

给字符串:abcd
我有 1a、1b、1c、1d。

到目前为止我的代码是

while(scanf("%s",s)!=EOF){

    if(s[i]=='a')
        counta++;
    if(s[i]=='b')
        countb++;

    //and so on

    i++;
}

最佳答案

scanf("%s", s) 当您到达标准输入 (stdin) 的末尾时返回 EOF。您需要另一个循环来遍历每个字符串中的字符:

while(scanf("%s",s)!=EOF) {
   for (int i = 0; s[i]; i++) {
       if(s[i]=='a')
           counta++;
       else if(s[i]=='b')
           countb++;
       //and so on
   }
}

关于c - 如何使用 eof 计算字符串的字母数 (ansi c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25557655/

相关文章:

c++ - 线程可以在返回之前被调度程序中断吗?

C 输入的计数用逗号分隔

mysql - 统计某一列中具有相同ID的表,并显示最高的

c - 文件中带有变音符号的 y

c - 在 C 中表示对象或处理多值返回的方式

c - scanf 没有正确保存值

python - 计算集合列表中的多次出现

php - jquery 一页上有多个 keith-wood 倒计时插件

c - 确定 EOF 表达式

c - 如何使用feof(FILE *f)?