标准输出的内容不正确

标签 c

给定一个名为 yesCount 的 int 变量、另一个名为 noCount 的 int 变量和一个名为 response 的 char 变量,编写必要的代码以将值读入 response,然后执行以下操作:

  • 如果输入的字符是 yY然后增加 yesCount并打印出"YES WAS RECORDED"
  • 如果输入的字符是nN然后增加 noCount并打印出"NO WAS RECORDED"
  • 如果输入无效,只需打印消息 "INVALID"不做任何其他事情。

您好,我的 C 代码遇到了这个问题。我得到的输出不正确。非常感谢任何帮助。谢谢。

if (response == 'y' || response == 'Y') {
    scanf("%d", &yesCount);
    yesCount++;
    printf("YES WAS RECORDED");
}

if (response == 'n' || response == 'N') {
    scanf("%d", &noCount);
    noCount++;
    printf("NO WAS RECORDED");
} else {
    printf("INVALID");
}

最佳答案

这里可能有一些拼写错误,因为我是用智能手机写的。请注意这一点。顺便说一句,我将如何做到这一点:

#include <stdio.h>

int main(void) {

    int yescount = 0, nocount = 0;
    int c;

    while ((c = getchar) != EOF) {
        switch (c) {
          case 'y':
          case 'Y':
            puts("Yes registered");
            yescount++;
            break;

          case 'n':
          case 'N':
            puts("No registered");
            nocount++;
            break;

          default:
            puts("Invalid selection.");
            break;
        }
    }
    return 0;
}

关于标准输出的内容不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935927/

相关文章:

c - 如何使用 ncurses 同时打印两件事

c - lseek 和 offset 的作用是什么

c - 从C中的链表中删除多个 'key'节点

实现是否可以将提示视为实际语句?

c - gcc编译错误: "inlining failed in call to always_inline" even after setting cflags environment variable

c - 包含用不同类型定义的位域的结构的大小

c - 将 PPM 的字节读入结构中的灵活成员数组

Android:杀死(所有)前台运行的应用程序

c - 在 C 中异或问题

c - fatal error : libavcodec/avcodec. h 没有这样的文件或目录编译终止