【问题标题】:if someone enter without writing anything then it should terminate如果有人在没有写任何东西的情况下进入,那么它应该终止
【发布时间】:2019-07-07 07:11:20
【问题描述】:
#include<stdio.h>
int main()
{
    char c;
    c=getchar();
    while(c!='\0')
    {
        printf("%c",c);
        c=getchar();
    }   
    return 0; 
}

我们想通过从键盘输入 NULL 字符来终止程序,但它不起作用。

【问题讨论】:

  • 您可能会发现这很有用:stackoverflow.com/questions/9124786/…
  • 请注意,编写此代码的通常方法是读取直到输入结束,而不是到达某个任意字符。为此,您必须修复 c 的类型(它必须是 int c;)并更改循环条件:while (c != EOF)
  • 您是否希望如果有人在没有写任何内容的情况下进入,那么它应该终止或其他任何内容?
  • @GameChanger 是的,正确的,我们正在寻找相同的。在这种情况下我们如何终止。?
  • 那不是空字符,那是换行符。

标签: c while-loop null getchar


【解决方案1】:

如前所述,从终端输入“\0”字符可以通过以下方式完成:

  • Ctrl+@

  • Ctrl+空格

相关的c代码可能如下:

#include <stdio.h>

int main()
{
  char c;

  do
  {
    c = getchar();
    if ((c == EOF) || (c == '\0'))
    {
      break;
    }
    printf("%c", c);
  } while (c != '\n');

  return 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    相关资源
    最近更新 更多