Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C简介:连续提示输入_C_Loops_Prompt - Fatal编程技术网

C简介:连续提示输入

C简介:连续提示输入,c,loops,prompt,C,Loops,Prompt,我想用ANSI C编写一个代码,提示用户输入。 首先,我想打印提示。 然后,我想回显提示符和循环,仅当键入并回显字符时 我知道要生成一个无限循环,我必须将while()的条件设置为始终为真的条件,如while(1) 然而,当我测试代码时,我似乎一次又一次地循环打印“输入字符”。对新手来说有什么建议吗 #include <stdio.h> int main() { char mychar; while(1) printf("Enter a characater:\n");

我想用ANSI C编写一个代码,提示用户输入。 首先,我想打印提示。 然后,我想回显提示符和循环,仅当键入并回显字符时

我知道要生成一个无限循环,我必须将while()的条件设置为始终为真的条件,如while(1)

然而,当我测试代码时,我似乎一次又一次地循环打印“输入字符”。对新手来说有什么建议吗

#include <stdio.h>

int main()
{

char mychar;

while(1)
    printf("Enter a characater:\n");
    scanf("%c", &mychar);
    printf("%c", &mychar)
}
#包括
int main()
{
char-mychar;
而(1)
printf(“输入字符:\n”);
scanf(“%c”和&mychar);
printf(“%c”、&mychar)
}

C中的块不是基于缩进的(比如python中)。块必须以
{
开头,以
}
结尾,如下所示:

while(1)
{
    printf("Enter a characater:\n");
    scanf("%c", &mychar);
    printf("%c", mychar);// NOTE the missing `&` in front of `mychar` here
}
int main()
{
  char mychar;

  while(1)
    printf("Enter a characater:\n");
  scanf("%c", &mychar);
  printf("%c", &mychar)
}

您应该使用能够自动格式化/自动缩进整个源文件的编辑器或IDE。如果您有这样的问题,您会立即看到问题,因为您的代码如下所示:

while(1)
{
    printf("Enter a characater:\n");
    scanf("%c", &mychar);
    printf("%c", mychar);// NOTE the missing `&` in front of `mychar` here
}
int main()
{
  char mychar;

  while(1)
    printf("Enter a characater:\n");
  scanf("%c", &mychar);
  printf("%c", &mychar)
}
这是一个即使是有经验的C程序员有时也会犯的错误,因此对它进行简单的修复(自动缩进/自动格式化代码)即使在将来也很重要


不相关的问题,在后一个
printf
中为
%c
格式说明符传递指向char的指针。您应该在编译器上启用警告,它会对此发出警告。

printf(“%c”,mychar)
您可以使用
getchar()
putchar()
来代替。。。。