c - 尝试计算 C 中大写字母的数量时获得随机增量

标签 c printf

我正在尝试从输入中查找小写和大写字符的数量。

这是我的代码:

#include <stdio.h>
#include <string.h>

int main()
{
    char cAFirst[25];
    int k = 0,uc =0 ,lc =0 ;

    fgets(cAFirst,25,stdin);
    // printf("out: %d \n",k);

    for (size_t i = 0; i < 25; i++) {
      k = (int)cAFirst[i];
      if ((k <= 90) && (k >= 65)) {
        uc++;
      }
      if ((k >= 97) && (k <= 122)) {
        lc++;
      }
    }

    printf("Uppercase Letters=%i \nLowercase Letters=%i \n",uc,lc );
    return 0;
}

小写 (lc) 是可以的,但是 uc 的值是随机递增的。

我已经尝试过更改 printf 的格式,它有时会起作用,但问题是我必须使用上面给出的相同格式提交此代码。

最佳答案

而不是总是迭代 25 次,迭代直到检测到输入结束。

// for (size_t i = 0; i < 25; i++) {
for (size_t i = 0; cAFirst[i]; i++) {  // detect null character.

关于c - 尝试计算 C 中大写字母的数量时获得随机增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54183805/

相关文章:

c - 如何通过引用将 char * foo[SIZE][SIZE] 传递给函数并取消引用它?

command-line - 如何使用 .m2 中的所有 .jar 进行编译?

C 打印整个字符串变量(忽略\0终止)

c - "fork()"后printf异常

c - 金字塔分割 OpenCV

c - 生成 RTE_Components.h

c - 在Winsock中为recv()做while循环

php - 使用 sprintf 打印浮点值

c - 字符串格式在 fprintf 中有效,但在 sprintf 中不起作用,出现段错误

c - C 中的可移植函数(没有程序集)返回其堆栈帧的大小